Warning, file /include/boost/pfr/detail/core17_generated.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef BOOST_PFR_DETAIL_CORE17_GENERATED_HPP
0014 #define BOOST_PFR_DETAIL_CORE17_GENERATED_HPP
0015 #pragma once
0016
0017 #include <boost/pfr/detail/config.hpp>
0018 #if !BOOST_PFR_USE_CPP17
0019 # error C++17 is required for this header.
0020 #endif
0021
0022 #include <boost/pfr/detail/sequence_tuple.hpp>
0023 #include <boost/pfr/detail/size_t_.hpp>
0024
0025 #ifdef BOOST_PFR_HAS_STD_MODULE
0026 import std;
0027 #else
0028 #include <type_traits> // for std::conditional_t, std::is_reference
0029 #endif
0030
0031 namespace boost { namespace pfr { namespace detail {
0032
0033 template <class... Args>
0034 constexpr auto make_tuple_of_references(Args&&... args) noexcept {
0035 return sequence_tuple::tuple<Args&...>{ args... };
0036 }
0037
0038 template<typename T, typename Arg>
0039 constexpr decltype(auto) add_cv_like(Arg& arg) noexcept {
0040 if constexpr (std::is_const<T>::value && std::is_volatile<T>::value) {
0041 return const_cast<const volatile Arg&>(arg);
0042 }
0043 else if constexpr (std::is_const<T>::value) {
0044 return const_cast<const Arg&>(arg);
0045 }
0046 else if constexpr (std::is_volatile<T>::value) {
0047 return const_cast<volatile Arg&>(arg);
0048 }
0049 else {
0050 return const_cast<Arg&>(arg);
0051 }
0052 }
0053
0054
0055 template<typename T, typename Sb, typename Arg>
0056 constexpr decltype(auto) workaround_cast(Arg& arg) noexcept {
0057 using output_arg_t = std::conditional_t<!std::is_reference<Sb>(), decltype(detail::add_cv_like<T>(arg)), Sb>;
0058 return const_cast<output_arg_t>(arg);
0059 }
0060
0061 template <class T>
0062 constexpr auto tie_as_tuple(T& , size_t_<0>) noexcept {
0063 return sequence_tuple::tuple<>{};
0064 }
0065
0066 template <class T>
0067 constexpr auto tie_as_tuple(T& val, size_t_<1>, std::enable_if_t<std::is_class< std::remove_cv_t<T> >::value>* = nullptr) noexcept {
0068 auto& [a] = const_cast<std::remove_cv_t<T>&>(val);
0069 return ::boost::pfr::detail::make_tuple_of_references(detail::workaround_cast<T, decltype(a)>(a));
0070 }
0071
0072
0073 template <class T>
0074 constexpr auto tie_as_tuple(T& val, size_t_<1>, std::enable_if_t<!std::is_class< std::remove_cv_t<T> >::value>* = nullptr) noexcept {
0075 return ::boost::pfr::detail::make_tuple_of_references( val );
0076 }
0077
0078
0079 template <class T>
0080 constexpr auto tie_as_tuple(T& val, size_t_<2>) noexcept {
0081 auto& [a,b] = const_cast<std::remove_cv_t<T>&>(val);
0082 return ::boost::pfr::detail::make_tuple_of_references(detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b));
0083 }
0084
0085 template <class T>
0086 constexpr auto tie_as_tuple(T& val, size_t_<3>) noexcept {
0087 auto& [a,b,c] = const_cast<std::remove_cv_t<T>&>(val);
0088
0089 return ::boost::pfr::detail::make_tuple_of_references(
0090 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c)
0091 );
0092 }
0093
0094 template <class T>
0095 constexpr auto tie_as_tuple(T& val, size_t_<4>) noexcept {
0096 auto& [a,b,c,d] = const_cast<std::remove_cv_t<T>&>(val);
0097
0098 return ::boost::pfr::detail::make_tuple_of_references(
0099 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0100 detail::workaround_cast<T, decltype(d)>(d)
0101 );
0102 }
0103
0104 template <class T>
0105 constexpr auto tie_as_tuple(T& val, size_t_<5>) noexcept {
0106 auto& [a,b,c,d,e] = const_cast<std::remove_cv_t<T>&>(val);
0107
0108 return ::boost::pfr::detail::make_tuple_of_references(
0109 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0110 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e)
0111 );
0112 }
0113
0114 template <class T>
0115 constexpr auto tie_as_tuple(T& val, size_t_<6>) noexcept {
0116 auto& [a,b,c,d,e,f] = const_cast<std::remove_cv_t<T>&>(val);
0117
0118 return ::boost::pfr::detail::make_tuple_of_references(
0119 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0120 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f)
0121 );
0122 }
0123
0124 template <class T>
0125 constexpr auto tie_as_tuple(T& val, size_t_<7>) noexcept {
0126 auto& [a,b,c,d,e,f,g] = const_cast<std::remove_cv_t<T>&>(val);
0127
0128 return ::boost::pfr::detail::make_tuple_of_references(
0129 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0130 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0131 detail::workaround_cast<T, decltype(g)>(g)
0132 );
0133 }
0134
0135 template <class T>
0136 constexpr auto tie_as_tuple(T& val, size_t_<8>) noexcept {
0137 auto& [a,b,c,d,e,f,g,h] = const_cast<std::remove_cv_t<T>&>(val);
0138
0139 return ::boost::pfr::detail::make_tuple_of_references(
0140 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0141 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0142 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h)
0143 );
0144 }
0145
0146 template <class T>
0147 constexpr auto tie_as_tuple(T& val, size_t_<9>) noexcept {
0148 auto& [a,b,c,d,e,f,g,h,j] = const_cast<std::remove_cv_t<T>&>(val);
0149
0150 return ::boost::pfr::detail::make_tuple_of_references(
0151 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0152 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0153 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j)
0154 );
0155 }
0156
0157 template <class T>
0158 constexpr auto tie_as_tuple(T& val, size_t_<10>) noexcept {
0159 auto& [a,b,c,d,e,f,g,h,j,k] = const_cast<std::remove_cv_t<T>&>(val);
0160
0161 return ::boost::pfr::detail::make_tuple_of_references(
0162 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0163 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0164 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0165 detail::workaround_cast<T, decltype(k)>(k)
0166 );
0167 }
0168
0169 template <class T>
0170 constexpr auto tie_as_tuple(T& val, size_t_<11>) noexcept {
0171 auto& [a,b,c,d,e,f,g,h,j,k,l] = const_cast<std::remove_cv_t<T>&>(val);
0172
0173 return ::boost::pfr::detail::make_tuple_of_references(
0174 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0175 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0176 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0177 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l)
0178 );
0179 }
0180
0181 template <class T>
0182 constexpr auto tie_as_tuple(T& val, size_t_<12>) noexcept {
0183 auto& [a,b,c,d,e,f,g,h,j,k,l,m] = const_cast<std::remove_cv_t<T>&>(val);
0184
0185 return ::boost::pfr::detail::make_tuple_of_references(
0186 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0187 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0188 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0189 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m)
0190 );
0191 }
0192
0193 template <class T>
0194 constexpr auto tie_as_tuple(T& val, size_t_<13>) noexcept {
0195 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n] = const_cast<std::remove_cv_t<T>&>(val);
0196
0197 return ::boost::pfr::detail::make_tuple_of_references(
0198 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0199 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0200 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0201 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0202 detail::workaround_cast<T, decltype(n)>(n)
0203 );
0204 }
0205
0206 template <class T>
0207 constexpr auto tie_as_tuple(T& val, size_t_<14>) noexcept {
0208 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p] = const_cast<std::remove_cv_t<T>&>(val);
0209
0210 return ::boost::pfr::detail::make_tuple_of_references(
0211 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0212 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0213 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0214 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0215 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p)
0216 );
0217 }
0218
0219 template <class T>
0220 constexpr auto tie_as_tuple(T& val, size_t_<15>) noexcept {
0221 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q] = const_cast<std::remove_cv_t<T>&>(val);
0222
0223 return ::boost::pfr::detail::make_tuple_of_references(
0224 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0225 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0226 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0227 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0228 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q)
0229 );
0230 }
0231
0232 template <class T>
0233 constexpr auto tie_as_tuple(T& val, size_t_<16>) noexcept {
0234 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r] = const_cast<std::remove_cv_t<T>&>(val);
0235
0236 return ::boost::pfr::detail::make_tuple_of_references(
0237 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0238 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0239 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0240 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0241 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0242 detail::workaround_cast<T, decltype(r)>(r)
0243 );
0244 }
0245
0246 template <class T>
0247 constexpr auto tie_as_tuple(T& val, size_t_<17>) noexcept {
0248 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s] = const_cast<std::remove_cv_t<T>&>(val);
0249
0250 return ::boost::pfr::detail::make_tuple_of_references(
0251 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0252 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0253 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0254 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0255 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0256 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s)
0257 );
0258 }
0259
0260 template <class T>
0261 constexpr auto tie_as_tuple(T& val, size_t_<18>) noexcept {
0262 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t] = const_cast<std::remove_cv_t<T>&>(val);
0263
0264 return ::boost::pfr::detail::make_tuple_of_references(
0265 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0266 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0267 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0268 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0269 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0270 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t)
0271 );
0272 }
0273
0274 template <class T>
0275 constexpr auto tie_as_tuple(T& val, size_t_<19>) noexcept {
0276 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u] = const_cast<std::remove_cv_t<T>&>(val);
0277
0278 return ::boost::pfr::detail::make_tuple_of_references(
0279 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0280 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0281 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0282 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0283 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0284 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0285 detail::workaround_cast<T, decltype(u)>(u)
0286 );
0287 }
0288
0289 template <class T>
0290 constexpr auto tie_as_tuple(T& val, size_t_<20>) noexcept {
0291 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v] = const_cast<std::remove_cv_t<T>&>(val);
0292
0293 return ::boost::pfr::detail::make_tuple_of_references(
0294 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0295 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0296 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0297 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0298 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0299 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0300 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v)
0301 );
0302 }
0303
0304 template <class T>
0305 constexpr auto tie_as_tuple(T& val, size_t_<21>) noexcept {
0306 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w] = const_cast<std::remove_cv_t<T>&>(val);
0307
0308 return ::boost::pfr::detail::make_tuple_of_references(
0309 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0310 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0311 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0312 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0313 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0314 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0315 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w)
0316 );
0317 }
0318
0319 template <class T>
0320 constexpr auto tie_as_tuple(T& val, size_t_<22>) noexcept {
0321 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x] = const_cast<std::remove_cv_t<T>&>(val);
0322
0323 return ::boost::pfr::detail::make_tuple_of_references(
0324 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0325 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0326 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0327 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0328 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0329 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0330 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0331 detail::workaround_cast<T, decltype(x)>(x)
0332 );
0333 }
0334
0335 template <class T>
0336 constexpr auto tie_as_tuple(T& val, size_t_<23>) noexcept {
0337 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y] = const_cast<std::remove_cv_t<T>&>(val);
0338
0339 return ::boost::pfr::detail::make_tuple_of_references(
0340 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0341 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0342 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0343 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0344 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0345 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0346 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0347 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y)
0348 );
0349 }
0350
0351 template <class T>
0352 constexpr auto tie_as_tuple(T& val, size_t_<24>) noexcept {
0353 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z] = const_cast<std::remove_cv_t<T>&>(val);
0354
0355 return ::boost::pfr::detail::make_tuple_of_references(
0356 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0357 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0358 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0359 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0360 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0361 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0362 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0363 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z)
0364 );
0365 }
0366
0367 template <class T>
0368 constexpr auto tie_as_tuple(T& val, size_t_<25>) noexcept {
0369 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A] = const_cast<std::remove_cv_t<T>&>(val);
0370
0371 return ::boost::pfr::detail::make_tuple_of_references(
0372 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0373 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0374 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0375 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0376 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0377 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0378 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0379 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0380 detail::workaround_cast<T, decltype(A)>(A)
0381 );
0382 }
0383
0384 template <class T>
0385 constexpr auto tie_as_tuple(T& val, size_t_<26>) noexcept {
0386 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B] = const_cast<std::remove_cv_t<T>&>(val);
0387
0388 return ::boost::pfr::detail::make_tuple_of_references(
0389 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0390 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0391 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0392 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0393 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0394 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0395 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0396 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0397 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B)
0398 );
0399 }
0400
0401 template <class T>
0402 constexpr auto tie_as_tuple(T& val, size_t_<27>) noexcept {
0403 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C] = const_cast<std::remove_cv_t<T>&>(val);
0404
0405 return ::boost::pfr::detail::make_tuple_of_references(
0406 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0407 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0408 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0409 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0410 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0411 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0412 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0413 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0414 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C)
0415 );
0416 }
0417
0418 template <class T>
0419 constexpr auto tie_as_tuple(T& val, size_t_<28>) noexcept {
0420 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D] = const_cast<std::remove_cv_t<T>&>(val);
0421
0422 return ::boost::pfr::detail::make_tuple_of_references(
0423 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0424 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0425 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0426 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0427 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0428 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0429 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0430 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0431 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0432 detail::workaround_cast<T, decltype(D)>(D)
0433 );
0434 }
0435
0436 template <class T>
0437 constexpr auto tie_as_tuple(T& val, size_t_<29>) noexcept {
0438 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E] = const_cast<std::remove_cv_t<T>&>(val);
0439
0440 return ::boost::pfr::detail::make_tuple_of_references(
0441 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0442 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0443 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0444 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0445 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0446 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0447 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0448 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0449 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0450 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E)
0451 );
0452 }
0453
0454 template <class T>
0455 constexpr auto tie_as_tuple(T& val, size_t_<30>) noexcept {
0456 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F] = const_cast<std::remove_cv_t<T>&>(val);
0457
0458 return ::boost::pfr::detail::make_tuple_of_references(
0459 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0460 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0461 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0462 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0463 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0464 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0465 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0466 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0467 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0468 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F)
0469 );
0470 }
0471
0472 template <class T>
0473 constexpr auto tie_as_tuple(T& val, size_t_<31>) noexcept {
0474 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G] = const_cast<std::remove_cv_t<T>&>(val);
0475
0476 return ::boost::pfr::detail::make_tuple_of_references(
0477 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0478 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0479 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0480 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0481 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0482 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0483 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0484 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0485 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0486 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0487 detail::workaround_cast<T, decltype(G)>(G)
0488 );
0489 }
0490
0491 template <class T>
0492 constexpr auto tie_as_tuple(T& val, size_t_<32>) noexcept {
0493 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H] = const_cast<std::remove_cv_t<T>&>(val);
0494
0495 return ::boost::pfr::detail::make_tuple_of_references(
0496 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0497 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0498 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0499 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0500 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0501 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0502 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0503 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0504 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0505 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0506 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H)
0507 );
0508 }
0509
0510 template <class T>
0511 constexpr auto tie_as_tuple(T& val, size_t_<33>) noexcept {
0512 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J] = const_cast<std::remove_cv_t<T>&>(val);
0513
0514 return ::boost::pfr::detail::make_tuple_of_references(
0515 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0516 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0517 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0518 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0519 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0520 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0521 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0522 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0523 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0524 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0525 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J)
0526 );
0527 }
0528
0529 template <class T>
0530 constexpr auto tie_as_tuple(T& val, size_t_<34>) noexcept {
0531 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K] = const_cast<std::remove_cv_t<T>&>(val);
0532
0533 return ::boost::pfr::detail::make_tuple_of_references(
0534 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0535 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0536 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0537 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0538 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0539 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0540 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0541 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0542 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0543 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0544 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0545 detail::workaround_cast<T, decltype(K)>(K)
0546 );
0547 }
0548
0549 template <class T>
0550 constexpr auto tie_as_tuple(T& val, size_t_<35>) noexcept {
0551 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L] = const_cast<std::remove_cv_t<T>&>(val);
0552
0553 return ::boost::pfr::detail::make_tuple_of_references(
0554 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0555 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0556 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0557 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0558 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0559 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0560 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0561 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0562 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0563 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0564 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0565 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L)
0566 );
0567 }
0568
0569 template <class T>
0570 constexpr auto tie_as_tuple(T& val, size_t_<36>) noexcept {
0571 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M] = const_cast<std::remove_cv_t<T>&>(val);
0572
0573 return ::boost::pfr::detail::make_tuple_of_references(
0574 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0575 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0576 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0577 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0578 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0579 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0580 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0581 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0582 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0583 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0584 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0585 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M)
0586 );
0587 }
0588
0589 template <class T>
0590 constexpr auto tie_as_tuple(T& val, size_t_<37>) noexcept {
0591 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N] = const_cast<std::remove_cv_t<T>&>(val);
0592
0593 return ::boost::pfr::detail::make_tuple_of_references(
0594 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0595 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0596 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0597 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0598 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0599 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0600 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0601 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0602 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0603 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0604 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0605 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0606 detail::workaround_cast<T, decltype(N)>(N)
0607 );
0608 }
0609
0610 template <class T>
0611 constexpr auto tie_as_tuple(T& val, size_t_<38>) noexcept {
0612 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P] = const_cast<std::remove_cv_t<T>&>(val);
0613
0614 return ::boost::pfr::detail::make_tuple_of_references(
0615 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0616 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0617 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0618 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0619 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0620 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0621 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0622 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0623 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0624 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0625 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0626 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0627 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P)
0628 );
0629 }
0630
0631 template <class T>
0632 constexpr auto tie_as_tuple(T& val, size_t_<39>) noexcept {
0633 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q] = const_cast<std::remove_cv_t<T>&>(val);
0634
0635 return ::boost::pfr::detail::make_tuple_of_references(
0636 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0637 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0638 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0639 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0640 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0641 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0642 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0643 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0644 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0645 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0646 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0647 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0648 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q)
0649 );
0650 }
0651
0652 template <class T>
0653 constexpr auto tie_as_tuple(T& val, size_t_<40>) noexcept {
0654 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R] = const_cast<std::remove_cv_t<T>&>(val);
0655
0656 return ::boost::pfr::detail::make_tuple_of_references(
0657 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0658 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0659 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0660 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0661 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0662 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0663 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0664 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0665 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0666 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0667 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0668 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0669 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0670 detail::workaround_cast<T, decltype(R)>(R)
0671 );
0672 }
0673
0674 template <class T>
0675 constexpr auto tie_as_tuple(T& val, size_t_<41>) noexcept {
0676 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S] = const_cast<std::remove_cv_t<T>&>(val);
0677
0678 return ::boost::pfr::detail::make_tuple_of_references(
0679 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0680 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0681 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0682 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0683 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0684 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0685 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0686 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0687 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0688 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0689 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0690 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0691 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0692 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S)
0693 );
0694 }
0695
0696 template <class T>
0697 constexpr auto tie_as_tuple(T& val, size_t_<42>) noexcept {
0698 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U] = const_cast<std::remove_cv_t<T>&>(val);
0699
0700 return ::boost::pfr::detail::make_tuple_of_references(
0701 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0702 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0703 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0704 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0705 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0706 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0707 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0708 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0709 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0710 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0711 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0712 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0713 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0714 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U)
0715 );
0716 }
0717
0718 template <class T>
0719 constexpr auto tie_as_tuple(T& val, size_t_<43>) noexcept {
0720 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V] = const_cast<std::remove_cv_t<T>&>(val);
0721
0722 return ::boost::pfr::detail::make_tuple_of_references(
0723 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0724 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0725 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0726 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0727 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0728 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0729 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0730 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0731 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0732 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0733 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0734 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0735 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0736 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0737 detail::workaround_cast<T, decltype(V)>(V)
0738 );
0739 }
0740
0741 template <class T>
0742 constexpr auto tie_as_tuple(T& val, size_t_<44>) noexcept {
0743 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W] = const_cast<std::remove_cv_t<T>&>(val);
0744
0745 return ::boost::pfr::detail::make_tuple_of_references(
0746 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0747 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0748 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0749 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0750 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0751 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0752 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0753 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0754 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0755 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0756 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0757 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0758 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0759 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0760 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W)
0761 );
0762 }
0763
0764 template <class T>
0765 constexpr auto tie_as_tuple(T& val, size_t_<45>) noexcept {
0766 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X] = const_cast<std::remove_cv_t<T>&>(val);
0767
0768 return ::boost::pfr::detail::make_tuple_of_references(
0769 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0770 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0771 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0772 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0773 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0774 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0775 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0776 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0777 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0778 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0779 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0780 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0781 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0782 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0783 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X)
0784 );
0785 }
0786
0787 template <class T>
0788 constexpr auto tie_as_tuple(T& val, size_t_<46>) noexcept {
0789 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y] = const_cast<std::remove_cv_t<T>&>(val);
0790
0791 return ::boost::pfr::detail::make_tuple_of_references(
0792 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0793 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0794 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0795 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0796 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0797 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0798 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0799 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0800 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0801 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0802 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0803 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0804 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0805 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0806 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0807 detail::workaround_cast<T, decltype(Y)>(Y)
0808 );
0809 }
0810
0811 template <class T>
0812 constexpr auto tie_as_tuple(T& val, size_t_<47>) noexcept {
0813 auto& [a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z] = const_cast<std::remove_cv_t<T>&>(val);
0814
0815 return ::boost::pfr::detail::make_tuple_of_references(
0816 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0817 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0818 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0819 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0820 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0821 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0822 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0823 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0824 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0825 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0826 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0827 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0828 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0829 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0830 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0831 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z)
0832 );
0833 }
0834
0835 template <class T>
0836 constexpr auto tie_as_tuple(T& val, size_t_<48>) noexcept {
0837 auto& [
0838 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0839 aa
0840 ] = const_cast<std::remove_cv_t<T>&>(val);
0841
0842 return ::boost::pfr::detail::make_tuple_of_references(
0843 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0844 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0845 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0846 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0847 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0848 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0849 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0850 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0851 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0852 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0853 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0854 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0855 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0856 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0857 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0858 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa)
0859 );
0860 }
0861
0862 template <class T>
0863 constexpr auto tie_as_tuple(T& val, size_t_<49>) noexcept {
0864 auto& [
0865 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0866 aa,ab
0867 ] = const_cast<std::remove_cv_t<T>&>(val);
0868
0869 return ::boost::pfr::detail::make_tuple_of_references(
0870 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0871 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0872 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0873 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0874 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0875 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0876 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0877 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0878 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0879 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0880 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0881 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0882 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0883 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0884 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0885 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
0886 detail::workaround_cast<T, decltype(ab)>(ab)
0887 );
0888 }
0889
0890 template <class T>
0891 constexpr auto tie_as_tuple(T& val, size_t_<50>) noexcept {
0892 auto& [
0893 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0894 aa,ab,ac
0895 ] = const_cast<std::remove_cv_t<T>&>(val);
0896
0897 return ::boost::pfr::detail::make_tuple_of_references(
0898 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0899 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0900 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0901 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0902 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0903 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0904 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0905 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0906 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0907 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0908 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0909 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0910 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0911 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0912 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0913 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
0914 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac)
0915 );
0916 }
0917
0918 template <class T>
0919 constexpr auto tie_as_tuple(T& val, size_t_<51>) noexcept {
0920 auto& [
0921 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0922 aa,ab,ac,ad
0923 ] = const_cast<std::remove_cv_t<T>&>(val);
0924
0925 return ::boost::pfr::detail::make_tuple_of_references(
0926 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0927 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0928 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0929 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0930 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0931 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0932 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0933 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0934 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0935 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0936 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0937 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0938 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0939 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0940 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0941 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
0942 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad)
0943 );
0944 }
0945
0946 template <class T>
0947 constexpr auto tie_as_tuple(T& val, size_t_<52>) noexcept {
0948 auto& [
0949 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0950 aa,ab,ac,ad,ae
0951 ] = const_cast<std::remove_cv_t<T>&>(val);
0952
0953 return ::boost::pfr::detail::make_tuple_of_references(
0954 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0955 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0956 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0957 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0958 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0959 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0960 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0961 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0962 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0963 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0964 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0965 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0966 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0967 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0968 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0969 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
0970 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
0971 detail::workaround_cast<T, decltype(ae)>(ae)
0972 );
0973 }
0974
0975 template <class T>
0976 constexpr auto tie_as_tuple(T& val, size_t_<53>) noexcept {
0977 auto& [
0978 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
0979 aa,ab,ac,ad,ae,af
0980 ] = const_cast<std::remove_cv_t<T>&>(val);
0981
0982 return ::boost::pfr::detail::make_tuple_of_references(
0983 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
0984 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
0985 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
0986 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
0987 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
0988 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
0989 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
0990 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
0991 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
0992 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
0993 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
0994 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
0995 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
0996 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
0997 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
0998 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
0999 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1000 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af)
1001 );
1002 }
1003
1004 template <class T>
1005 constexpr auto tie_as_tuple(T& val, size_t_<54>) noexcept {
1006 auto& [
1007 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1008 aa,ab,ac,ad,ae,af,ag
1009 ] = const_cast<std::remove_cv_t<T>&>(val);
1010
1011 return ::boost::pfr::detail::make_tuple_of_references(
1012 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1013 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1014 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1015 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1016 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1017 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1018 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1019 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1020 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1021 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1022 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1023 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1024 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1025 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1026 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1027 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1028 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1029 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag)
1030 );
1031 }
1032
1033 template <class T>
1034 constexpr auto tie_as_tuple(T& val, size_t_<55>) noexcept {
1035 auto& [
1036 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1037 aa,ab,ac,ad,ae,af,ag,ah
1038 ] = const_cast<std::remove_cv_t<T>&>(val);
1039
1040 return ::boost::pfr::detail::make_tuple_of_references(
1041 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1042 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1043 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1044 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1045 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1046 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1047 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1048 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1049 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1050 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1051 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1052 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1053 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1054 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1055 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1056 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1057 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1058 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1059 detail::workaround_cast<T, decltype(ah)>(ah)
1060 );
1061 }
1062
1063 template <class T>
1064 constexpr auto tie_as_tuple(T& val, size_t_<56>) noexcept {
1065 auto& [
1066 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1067 aa,ab,ac,ad,ae,af,ag,ah,aj
1068 ] = const_cast<std::remove_cv_t<T>&>(val);
1069
1070 return ::boost::pfr::detail::make_tuple_of_references(
1071 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1072 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1073 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1074 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1075 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1076 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1077 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1078 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1079 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1080 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1081 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1082 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1083 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1084 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1085 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1086 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1087 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1088 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1089 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj)
1090 );
1091 }
1092
1093 template <class T>
1094 constexpr auto tie_as_tuple(T& val, size_t_<57>) noexcept {
1095 auto& [
1096 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1097 aa,ab,ac,ad,ae,af,ag,ah,aj,ak
1098 ] = const_cast<std::remove_cv_t<T>&>(val);
1099
1100 return ::boost::pfr::detail::make_tuple_of_references(
1101 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1102 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1103 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1104 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1105 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1106 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1107 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1108 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1109 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1110 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1111 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1112 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1113 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1114 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1115 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1116 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1117 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1118 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1119 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak)
1120 );
1121 }
1122
1123 template <class T>
1124 constexpr auto tie_as_tuple(T& val, size_t_<58>) noexcept {
1125 auto& [
1126 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1127 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al
1128 ] = const_cast<std::remove_cv_t<T>&>(val);
1129
1130 return ::boost::pfr::detail::make_tuple_of_references(
1131 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1132 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1133 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1134 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1135 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1136 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1137 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1138 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1139 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1140 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1141 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1142 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1143 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1144 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1145 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1146 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1147 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1148 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1149 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1150 detail::workaround_cast<T, decltype(al)>(al)
1151 );
1152 }
1153
1154 template <class T>
1155 constexpr auto tie_as_tuple(T& val, size_t_<59>) noexcept {
1156 auto& [
1157 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1158 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am
1159 ] = const_cast<std::remove_cv_t<T>&>(val);
1160
1161 return ::boost::pfr::detail::make_tuple_of_references(
1162 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1163 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1164 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1165 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1166 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1167 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1168 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1169 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1170 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1171 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1172 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1173 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1174 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1175 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1176 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1177 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1178 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1179 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1180 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1181 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am)
1182 );
1183 }
1184
1185 template <class T>
1186 constexpr auto tie_as_tuple(T& val, size_t_<60>) noexcept {
1187 auto& [
1188 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1189 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an
1190 ] = const_cast<std::remove_cv_t<T>&>(val);
1191
1192 return ::boost::pfr::detail::make_tuple_of_references(
1193 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1194 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1195 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1196 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1197 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1198 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1199 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1200 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1201 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1202 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1203 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1204 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1205 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1206 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1207 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1208 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1209 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1210 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1211 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1212 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an)
1213 );
1214 }
1215
1216 template <class T>
1217 constexpr auto tie_as_tuple(T& val, size_t_<61>) noexcept {
1218 auto& [
1219 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1220 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap
1221 ] = const_cast<std::remove_cv_t<T>&>(val);
1222
1223 return ::boost::pfr::detail::make_tuple_of_references(
1224 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1225 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1226 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1227 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1228 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1229 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1230 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1231 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1232 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1233 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1234 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1235 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1236 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1237 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1238 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1239 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1240 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1241 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1242 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1243 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1244 detail::workaround_cast<T, decltype(ap)>(ap)
1245 );
1246 }
1247
1248 template <class T>
1249 constexpr auto tie_as_tuple(T& val, size_t_<62>) noexcept {
1250 auto& [
1251 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1252 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq
1253 ] = const_cast<std::remove_cv_t<T>&>(val);
1254
1255 return ::boost::pfr::detail::make_tuple_of_references(
1256 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1257 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1258 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1259 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1260 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1261 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1262 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1263 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1264 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1265 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1266 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1267 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1268 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1269 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1270 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1271 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1272 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1273 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1274 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1275 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1276 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq)
1277 );
1278 }
1279
1280 template <class T>
1281 constexpr auto tie_as_tuple(T& val, size_t_<63>) noexcept {
1282 auto& [
1283 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1284 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar
1285 ] = const_cast<std::remove_cv_t<T>&>(val);
1286
1287 return ::boost::pfr::detail::make_tuple_of_references(
1288 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1289 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1290 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1291 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1292 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1293 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1294 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1295 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1296 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1297 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1298 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1299 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1300 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1301 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1302 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1303 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1304 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1305 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1306 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1307 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1308 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar)
1309 );
1310 }
1311
1312 template <class T>
1313 constexpr auto tie_as_tuple(T& val, size_t_<64>) noexcept {
1314 auto& [
1315 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1316 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as
1317 ] = const_cast<std::remove_cv_t<T>&>(val);
1318
1319 return ::boost::pfr::detail::make_tuple_of_references(
1320 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1321 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1322 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1323 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1324 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1325 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1326 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1327 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1328 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1329 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1330 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1331 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1332 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1333 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1334 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1335 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1336 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1337 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1338 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1339 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1340 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1341 detail::workaround_cast<T, decltype(as)>(as)
1342 );
1343 }
1344
1345 template <class T>
1346 constexpr auto tie_as_tuple(T& val, size_t_<65>) noexcept {
1347 auto& [
1348 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1349 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at
1350 ] = const_cast<std::remove_cv_t<T>&>(val);
1351
1352 return ::boost::pfr::detail::make_tuple_of_references(
1353 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1354 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1355 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1356 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1357 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1358 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1359 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1360 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1361 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1362 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1363 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1364 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1365 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1366 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1367 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1368 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1369 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1370 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1371 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1372 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1373 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1374 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at)
1375 );
1376 }
1377
1378 template <class T>
1379 constexpr auto tie_as_tuple(T& val, size_t_<66>) noexcept {
1380 auto& [
1381 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1382 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au
1383 ] = const_cast<std::remove_cv_t<T>&>(val);
1384
1385 return ::boost::pfr::detail::make_tuple_of_references(
1386 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1387 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1388 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1389 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1390 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1391 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1392 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1393 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1394 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1395 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1396 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1397 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1398 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1399 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1400 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1401 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1402 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1403 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1404 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1405 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1406 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1407 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au)
1408 );
1409 }
1410
1411 template <class T>
1412 constexpr auto tie_as_tuple(T& val, size_t_<67>) noexcept {
1413 auto& [
1414 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1415 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av
1416 ] = const_cast<std::remove_cv_t<T>&>(val);
1417
1418 return ::boost::pfr::detail::make_tuple_of_references(
1419 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1420 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1421 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1422 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1423 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1424 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1425 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1426 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1427 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1428 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1429 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1430 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1431 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1432 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1433 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1434 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1435 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1436 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1437 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1438 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1439 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1440 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1441 detail::workaround_cast<T, decltype(av)>(av)
1442 );
1443 }
1444
1445 template <class T>
1446 constexpr auto tie_as_tuple(T& val, size_t_<68>) noexcept {
1447 auto& [
1448 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1449 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw
1450 ] = const_cast<std::remove_cv_t<T>&>(val);
1451
1452 return ::boost::pfr::detail::make_tuple_of_references(
1453 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1454 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1455 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1456 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1457 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1458 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1459 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1460 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1461 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1462 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1463 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1464 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1465 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1466 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1467 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1468 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1469 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1470 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1471 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1472 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1473 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1474 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1475 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw)
1476 );
1477 }
1478
1479 template <class T>
1480 constexpr auto tie_as_tuple(T& val, size_t_<69>) noexcept {
1481 auto& [
1482 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1483 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax
1484 ] = const_cast<std::remove_cv_t<T>&>(val);
1485
1486 return ::boost::pfr::detail::make_tuple_of_references(
1487 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1488 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1489 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1490 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1491 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1492 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1493 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1494 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1495 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1496 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1497 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1498 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1499 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1500 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1501 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1502 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1503 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1504 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1505 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1506 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1507 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1508 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1509 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax)
1510 );
1511 }
1512
1513 template <class T>
1514 constexpr auto tie_as_tuple(T& val, size_t_<70>) noexcept {
1515 auto& [
1516 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1517 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay
1518 ] = const_cast<std::remove_cv_t<T>&>(val);
1519
1520 return ::boost::pfr::detail::make_tuple_of_references(
1521 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1522 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1523 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1524 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1525 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1526 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1527 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1528 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1529 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1530 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1531 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1532 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1533 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1534 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1535 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1536 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1537 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1538 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1539 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1540 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1541 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1542 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1543 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1544 detail::workaround_cast<T, decltype(ay)>(ay)
1545 );
1546 }
1547
1548 template <class T>
1549 constexpr auto tie_as_tuple(T& val, size_t_<71>) noexcept {
1550 auto& [
1551 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1552 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az
1553 ] = const_cast<std::remove_cv_t<T>&>(val);
1554
1555 return ::boost::pfr::detail::make_tuple_of_references(
1556 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1557 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1558 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1559 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1560 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1561 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1562 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1563 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1564 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1565 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1566 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1567 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1568 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1569 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1570 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1571 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1572 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1573 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1574 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1575 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1576 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1577 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1578 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1579 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az)
1580 );
1581 }
1582
1583 template <class T>
1584 constexpr auto tie_as_tuple(T& val, size_t_<72>) noexcept {
1585 auto& [
1586 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1587 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA
1588 ] = const_cast<std::remove_cv_t<T>&>(val);
1589
1590 return ::boost::pfr::detail::make_tuple_of_references(
1591 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1592 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1593 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1594 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1595 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1596 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1597 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1598 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1599 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1600 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1601 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1602 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1603 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1604 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1605 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1606 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1607 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1608 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1609 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1610 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1611 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1612 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1613 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1614 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA)
1615 );
1616 }
1617
1618 template <class T>
1619 constexpr auto tie_as_tuple(T& val, size_t_<73>) noexcept {
1620 auto& [
1621 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1622 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB
1623 ] = const_cast<std::remove_cv_t<T>&>(val);
1624
1625 return ::boost::pfr::detail::make_tuple_of_references(
1626 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1627 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1628 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1629 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1630 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1631 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1632 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1633 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1634 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1635 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1636 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1637 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1638 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1639 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1640 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1641 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1642 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1643 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1644 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1645 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1646 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1647 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1648 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1649 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1650 detail::workaround_cast<T, decltype(aB)>(aB)
1651 );
1652 }
1653
1654 template <class T>
1655 constexpr auto tie_as_tuple(T& val, size_t_<74>) noexcept {
1656 auto& [
1657 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1658 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC
1659 ] = const_cast<std::remove_cv_t<T>&>(val);
1660
1661 return ::boost::pfr::detail::make_tuple_of_references(
1662 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1663 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1664 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1665 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1666 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1667 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1668 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1669 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1670 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1671 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1672 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1673 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1674 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1675 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1676 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1677 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1678 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1679 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1680 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1681 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1682 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1683 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1684 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1685 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1686 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC)
1687 );
1688 }
1689
1690 template <class T>
1691 constexpr auto tie_as_tuple(T& val, size_t_<75>) noexcept {
1692 auto& [
1693 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1694 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD
1695 ] = const_cast<std::remove_cv_t<T>&>(val);
1696
1697 return ::boost::pfr::detail::make_tuple_of_references(
1698 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1699 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1700 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1701 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1702 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1703 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1704 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1705 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1706 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1707 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1708 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1709 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1710 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1711 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1712 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1713 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1714 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1715 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1716 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1717 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1718 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1719 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1720 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1721 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1722 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD)
1723 );
1724 }
1725
1726 template <class T>
1727 constexpr auto tie_as_tuple(T& val, size_t_<76>) noexcept {
1728 auto& [
1729 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1730 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE
1731 ] = const_cast<std::remove_cv_t<T>&>(val);
1732
1733 return ::boost::pfr::detail::make_tuple_of_references(
1734 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1735 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1736 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1737 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1738 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1739 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1740 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1741 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1742 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1743 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1744 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1745 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1746 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1747 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1748 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1749 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1750 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1751 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1752 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1753 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1754 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1755 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1756 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1757 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1758 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1759 detail::workaround_cast<T, decltype(aE)>(aE)
1760 );
1761 }
1762
1763 template <class T>
1764 constexpr auto tie_as_tuple(T& val, size_t_<77>) noexcept {
1765 auto& [
1766 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1767 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF
1768 ] = const_cast<std::remove_cv_t<T>&>(val);
1769
1770 return ::boost::pfr::detail::make_tuple_of_references(
1771 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1772 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1773 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1774 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1775 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1776 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1777 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1778 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1779 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1780 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1781 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1782 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1783 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1784 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1785 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1786 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1787 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1788 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1789 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1790 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1791 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1792 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1793 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1794 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1795 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1796 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF)
1797 );
1798 }
1799
1800 template <class T>
1801 constexpr auto tie_as_tuple(T& val, size_t_<78>) noexcept {
1802 auto& [
1803 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1804 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG
1805 ] = const_cast<std::remove_cv_t<T>&>(val);
1806
1807 return ::boost::pfr::detail::make_tuple_of_references(
1808 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1809 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1810 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1811 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1812 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1813 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1814 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1815 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1816 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1817 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1818 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1819 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1820 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1821 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1822 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1823 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1824 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1825 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1826 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1827 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1828 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1829 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1830 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1831 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1832 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1833 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG)
1834 );
1835 }
1836
1837 template <class T>
1838 constexpr auto tie_as_tuple(T& val, size_t_<79>) noexcept {
1839 auto& [
1840 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1841 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH
1842 ] = const_cast<std::remove_cv_t<T>&>(val);
1843
1844 return ::boost::pfr::detail::make_tuple_of_references(
1845 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1846 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1847 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1848 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1849 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1850 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1851 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1852 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1853 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1854 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1855 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1856 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1857 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1858 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1859 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1860 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1861 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1862 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1863 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1864 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1865 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1866 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1867 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1868 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1869 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1870 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
1871 detail::workaround_cast<T, decltype(aH)>(aH)
1872 );
1873 }
1874
1875 template <class T>
1876 constexpr auto tie_as_tuple(T& val, size_t_<80>) noexcept {
1877 auto& [
1878 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1879 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ
1880 ] = const_cast<std::remove_cv_t<T>&>(val);
1881
1882 return ::boost::pfr::detail::make_tuple_of_references(
1883 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1884 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1885 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1886 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1887 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1888 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1889 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1890 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1891 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1892 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1893 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1894 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1895 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1896 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1897 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1898 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1899 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1900 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1901 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1902 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1903 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1904 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1905 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1906 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1907 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1908 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
1909 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ)
1910 );
1911 }
1912
1913 template <class T>
1914 constexpr auto tie_as_tuple(T& val, size_t_<81>) noexcept {
1915 auto& [
1916 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1917 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK
1918 ] = const_cast<std::remove_cv_t<T>&>(val);
1919
1920 return ::boost::pfr::detail::make_tuple_of_references(
1921 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1922 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1923 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1924 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1925 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1926 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1927 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1928 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1929 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1930 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1931 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1932 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1933 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1934 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1935 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1936 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1937 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1938 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1939 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1940 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1941 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1942 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1943 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1944 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1945 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1946 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
1947 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK)
1948 );
1949 }
1950
1951 template <class T>
1952 constexpr auto tie_as_tuple(T& val, size_t_<82>) noexcept {
1953 auto& [
1954 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1955 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL
1956 ] = const_cast<std::remove_cv_t<T>&>(val);
1957
1958 return ::boost::pfr::detail::make_tuple_of_references(
1959 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1960 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
1961 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
1962 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
1963 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
1964 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
1965 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
1966 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
1967 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
1968 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
1969 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
1970 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
1971 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
1972 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
1973 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
1974 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
1975 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
1976 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
1977 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
1978 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
1979 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
1980 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
1981 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
1982 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
1983 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
1984 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
1985 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
1986 detail::workaround_cast<T, decltype(aL)>(aL)
1987 );
1988 }
1989
1990 template <class T>
1991 constexpr auto tie_as_tuple(T& val, size_t_<83>) noexcept {
1992 auto& [
1993 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
1994 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM
1995 ] = const_cast<std::remove_cv_t<T>&>(val);
1996
1997 return ::boost::pfr::detail::make_tuple_of_references(
1998 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
1999 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2000 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2001 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2002 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2003 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2004 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2005 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2006 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2007 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2008 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2009 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2010 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2011 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2012 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2013 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2014 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2015 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2016 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2017 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2018 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2019 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2020 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2021 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2022 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2023 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2024 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2025 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM)
2026 );
2027 }
2028
2029 template <class T>
2030 constexpr auto tie_as_tuple(T& val, size_t_<84>) noexcept {
2031 auto& [
2032 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2033 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN
2034 ] = const_cast<std::remove_cv_t<T>&>(val);
2035
2036 return ::boost::pfr::detail::make_tuple_of_references(
2037 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2038 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2039 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2040 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2041 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2042 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2043 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2044 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2045 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2046 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2047 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2048 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2049 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2050 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2051 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2052 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2053 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2054 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2055 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2056 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2057 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2058 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2059 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2060 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2061 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2062 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2063 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2064 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN)
2065 );
2066 }
2067
2068 template <class T>
2069 constexpr auto tie_as_tuple(T& val, size_t_<85>) noexcept {
2070 auto& [
2071 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2072 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP
2073 ] = const_cast<std::remove_cv_t<T>&>(val);
2074
2075 return ::boost::pfr::detail::make_tuple_of_references(
2076 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2077 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2078 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2079 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2080 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2081 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2082 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2083 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2084 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2085 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2086 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2087 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2088 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2089 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2090 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2091 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2092 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2093 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2094 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2095 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2096 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2097 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2098 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2099 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2100 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2101 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2102 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2103 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2104 detail::workaround_cast<T, decltype(aP)>(aP)
2105 );
2106 }
2107
2108 template <class T>
2109 constexpr auto tie_as_tuple(T& val, size_t_<86>) noexcept {
2110 auto& [
2111 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2112 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ
2113 ] = const_cast<std::remove_cv_t<T>&>(val);
2114
2115 return ::boost::pfr::detail::make_tuple_of_references(
2116 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2117 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2118 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2119 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2120 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2121 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2122 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2123 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2124 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2125 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2126 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2127 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2128 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2129 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2130 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2131 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2132 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2133 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2134 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2135 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2136 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2137 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2138 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2139 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2140 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2141 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2142 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2143 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2144 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ)
2145 );
2146 }
2147
2148 template <class T>
2149 constexpr auto tie_as_tuple(T& val, size_t_<87>) noexcept {
2150 auto& [
2151 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2152 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR
2153 ] = const_cast<std::remove_cv_t<T>&>(val);
2154
2155 return ::boost::pfr::detail::make_tuple_of_references(
2156 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2157 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2158 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2159 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2160 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2161 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2162 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2163 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2164 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2165 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2166 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2167 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2168 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2169 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2170 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2171 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2172 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2173 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2174 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2175 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2176 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2177 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2178 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2179 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2180 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2181 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2182 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2183 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2184 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR)
2185 );
2186 }
2187
2188 template <class T>
2189 constexpr auto tie_as_tuple(T& val, size_t_<88>) noexcept {
2190 auto& [
2191 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2192 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS
2193 ] = const_cast<std::remove_cv_t<T>&>(val);
2194
2195 return ::boost::pfr::detail::make_tuple_of_references(
2196 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2197 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2198 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2199 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2200 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2201 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2202 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2203 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2204 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2205 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2206 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2207 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2208 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2209 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2210 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2211 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2212 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2213 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2214 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2215 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2216 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2217 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2218 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2219 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2220 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2221 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2222 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2223 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2224 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2225 detail::workaround_cast<T, decltype(aS)>(aS)
2226 );
2227 }
2228
2229 template <class T>
2230 constexpr auto tie_as_tuple(T& val, size_t_<89>) noexcept {
2231 auto& [
2232 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2233 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU
2234 ] = const_cast<std::remove_cv_t<T>&>(val);
2235
2236 return ::boost::pfr::detail::make_tuple_of_references(
2237 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2238 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2239 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2240 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2241 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2242 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2243 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2244 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2245 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2246 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2247 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2248 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2249 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2250 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2251 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2252 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2253 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2254 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2255 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2256 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2257 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2258 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2259 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2260 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2261 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2262 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2263 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2264 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2265 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2266 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU)
2267 );
2268 }
2269
2270 template <class T>
2271 constexpr auto tie_as_tuple(T& val, size_t_<90>) noexcept {
2272 auto& [
2273 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2274 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV
2275 ] = const_cast<std::remove_cv_t<T>&>(val);
2276
2277 return ::boost::pfr::detail::make_tuple_of_references(
2278 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2279 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2280 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2281 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2282 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2283 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2284 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2285 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2286 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2287 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2288 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2289 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2290 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2291 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2292 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2293 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2294 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2295 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2296 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2297 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2298 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2299 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2300 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2301 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2302 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2303 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2304 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2305 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2306 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2307 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV)
2308 );
2309 }
2310
2311 template <class T>
2312 constexpr auto tie_as_tuple(T& val, size_t_<91>) noexcept {
2313 auto& [
2314 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2315 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW
2316 ] = const_cast<std::remove_cv_t<T>&>(val);
2317
2318 return ::boost::pfr::detail::make_tuple_of_references(
2319 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2320 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2321 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2322 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2323 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2324 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2325 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2326 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2327 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2328 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2329 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2330 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2331 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2332 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2333 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2334 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2335 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2336 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2337 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2338 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2339 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2340 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2341 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2342 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2343 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2344 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2345 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2346 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2347 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2348 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2349 detail::workaround_cast<T, decltype(aW)>(aW)
2350 );
2351 }
2352
2353 template <class T>
2354 constexpr auto tie_as_tuple(T& val, size_t_<92>) noexcept {
2355 auto& [
2356 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2357 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX
2358 ] = const_cast<std::remove_cv_t<T>&>(val);
2359
2360 return ::boost::pfr::detail::make_tuple_of_references(
2361 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2362 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2363 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2364 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2365 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2366 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2367 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2368 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2369 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2370 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2371 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2372 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2373 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2374 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2375 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2376 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2377 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2378 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2379 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2380 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2381 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2382 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2383 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2384 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2385 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2386 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2387 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2388 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2389 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2390 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2391 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX)
2392 );
2393 }
2394
2395 template <class T>
2396 constexpr auto tie_as_tuple(T& val, size_t_<93>) noexcept {
2397 auto& [
2398 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2399 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY
2400 ] = const_cast<std::remove_cv_t<T>&>(val);
2401
2402 return ::boost::pfr::detail::make_tuple_of_references(
2403 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2404 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2405 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2406 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2407 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2408 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2409 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2410 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2411 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2412 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2413 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2414 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2415 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2416 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2417 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2418 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2419 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2420 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2421 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2422 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2423 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2424 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2425 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2426 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2427 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2428 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2429 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2430 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2431 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2432 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2433 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY)
2434 );
2435 }
2436
2437 template <class T>
2438 constexpr auto tie_as_tuple(T& val, size_t_<94>) noexcept {
2439 auto& [
2440 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2441 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ
2442 ] = const_cast<std::remove_cv_t<T>&>(val);
2443
2444 return ::boost::pfr::detail::make_tuple_of_references(
2445 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2446 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2447 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2448 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2449 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2450 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2451 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2452 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2453 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2454 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2455 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2456 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2457 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2458 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2459 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2460 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2461 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2462 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2463 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2464 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2465 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2466 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2467 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2468 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2469 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2470 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2471 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2472 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2473 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2474 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2475 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2476 detail::workaround_cast<T, decltype(aZ)>(aZ)
2477 );
2478 }
2479
2480 template <class T>
2481 constexpr auto tie_as_tuple(T& val, size_t_<95>) noexcept {
2482 auto& [
2483 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2484 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2485 ba
2486 ] = const_cast<std::remove_cv_t<T>&>(val);
2487
2488 return ::boost::pfr::detail::make_tuple_of_references(
2489 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2490 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2491 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2492 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2493 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2494 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2495 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2496 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2497 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2498 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2499 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2500 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2501 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2502 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2503 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2504 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2505 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2506 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2507 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2508 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2509 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2510 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2511 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2512 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2513 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2514 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2515 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2516 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2517 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2518 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2519 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2520 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba)
2521 );
2522 }
2523
2524 template <class T>
2525 constexpr auto tie_as_tuple(T& val, size_t_<96>) noexcept {
2526 auto& [
2527 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2528 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2529 ba,bb
2530 ] = const_cast<std::remove_cv_t<T>&>(val);
2531
2532 return ::boost::pfr::detail::make_tuple_of_references(
2533 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2534 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2535 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2536 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2537 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2538 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2539 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2540 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2541 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2542 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2543 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2544 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2545 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2546 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2547 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2548 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2549 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2550 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2551 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2552 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2553 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2554 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2555 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2556 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2557 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2558 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2559 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2560 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2561 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2562 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2563 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2564 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb)
2565 );
2566 }
2567
2568 template <class T>
2569 constexpr auto tie_as_tuple(T& val, size_t_<97>) noexcept {
2570 auto& [
2571 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2572 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2573 ba,bb,bc
2574 ] = const_cast<std::remove_cv_t<T>&>(val);
2575
2576 return ::boost::pfr::detail::make_tuple_of_references(
2577 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2578 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2579 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2580 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2581 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2582 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2583 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2584 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2585 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2586 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2587 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2588 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2589 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2590 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2591 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2592 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2593 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2594 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2595 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2596 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2597 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2598 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2599 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2600 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2601 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2602 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2603 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2604 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2605 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2606 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2607 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2608 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2609 detail::workaround_cast<T, decltype(bc)>(bc)
2610 );
2611 }
2612
2613 template <class T>
2614 constexpr auto tie_as_tuple(T& val, size_t_<98>) noexcept {
2615 auto& [
2616 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2617 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2618 ba,bb,bc,bd
2619 ] = const_cast<std::remove_cv_t<T>&>(val);
2620
2621 return ::boost::pfr::detail::make_tuple_of_references(
2622 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2623 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2624 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2625 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2626 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2627 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2628 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2629 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2630 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2631 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2632 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2633 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2634 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2635 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2636 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2637 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2638 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2639 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2640 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2641 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2642 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2643 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2644 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2645 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2646 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2647 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2648 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2649 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2650 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2651 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2652 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2653 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2654 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd)
2655 );
2656 }
2657
2658 template <class T>
2659 constexpr auto tie_as_tuple(T& val, size_t_<99>) noexcept {
2660 auto& [
2661 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2662 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2663 ba,bb,bc,bd,be
2664 ] = const_cast<std::remove_cv_t<T>&>(val);
2665
2666 return ::boost::pfr::detail::make_tuple_of_references(
2667 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2668 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2669 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2670 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2671 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2672 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2673 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2674 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2675 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2676 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2677 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2678 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2679 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2680 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2681 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2682 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2683 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2684 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2685 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2686 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2687 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2688 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2689 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2690 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2691 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2692 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2693 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2694 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2695 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2696 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2697 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2698 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2699 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be)
2700 );
2701 }
2702
2703 template <class T>
2704 constexpr auto tie_as_tuple(T& val, size_t_<100>) noexcept {
2705 auto& [
2706 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2707 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2708 ba,bb,bc,bd,be,bf
2709 ] = const_cast<std::remove_cv_t<T>&>(val);
2710
2711 return ::boost::pfr::detail::make_tuple_of_references(
2712 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2713 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2714 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2715 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2716 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2717 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2718 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2719 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2720 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2721 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2722 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2723 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2724 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2725 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2726 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2727 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2728 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2729 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2730 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2731 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2732 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2733 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2734 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2735 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2736 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2737 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2738 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2739 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2740 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2741 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2742 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2743 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2744 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2745 detail::workaround_cast<T, decltype(bf)>(bf)
2746 );
2747 }
2748
2749 template <class T>
2750 constexpr auto tie_as_tuple(T& val, size_t_<101>) noexcept {
2751 auto& [
2752 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2753 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2754 ba,bb,bc,bd,be,bf,bg
2755 ] = const_cast<std::remove_cv_t<T>&>(val);
2756
2757 return ::boost::pfr::detail::make_tuple_of_references(
2758 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2759 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2760 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2761 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2762 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2763 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2764 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2765 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2766 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2767 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2768 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2769 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2770 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2771 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2772 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2773 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2774 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2775 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2776 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2777 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2778 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2779 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2780 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2781 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2782 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2783 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2784 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2785 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2786 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2787 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2788 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2789 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2790 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2791 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg)
2792 );
2793 }
2794
2795 template <class T>
2796 constexpr auto tie_as_tuple(T& val, size_t_<102>) noexcept {
2797 auto& [
2798 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2799 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2800 ba,bb,bc,bd,be,bf,bg,bh
2801 ] = const_cast<std::remove_cv_t<T>&>(val);
2802
2803 return ::boost::pfr::detail::make_tuple_of_references(
2804 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2805 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2806 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2807 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2808 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2809 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2810 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2811 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2812 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2813 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2814 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2815 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2816 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2817 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2818 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2819 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2820 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2821 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2822 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2823 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2824 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2825 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2826 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2827 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2828 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2829 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2830 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2831 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2832 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2833 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2834 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2835 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2836 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2837 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh)
2838 );
2839 }
2840
2841 template <class T>
2842 constexpr auto tie_as_tuple(T& val, size_t_<103>) noexcept {
2843 auto& [
2844 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2845 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2846 ba,bb,bc,bd,be,bf,bg,bh,bj
2847 ] = const_cast<std::remove_cv_t<T>&>(val);
2848
2849 return ::boost::pfr::detail::make_tuple_of_references(
2850 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2851 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2852 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2853 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2854 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2855 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2856 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2857 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2858 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2859 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2860 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2861 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2862 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2863 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2864 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2865 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2866 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2867 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2868 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2869 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2870 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2871 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2872 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2873 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2874 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2875 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2876 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2877 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2878 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2879 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2880 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2881 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2882 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2883 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
2884 detail::workaround_cast<T, decltype(bj)>(bj)
2885 );
2886 }
2887
2888 template <class T>
2889 constexpr auto tie_as_tuple(T& val, size_t_<104>) noexcept {
2890 auto& [
2891 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2892 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2893 ba,bb,bc,bd,be,bf,bg,bh,bj,bk
2894 ] = const_cast<std::remove_cv_t<T>&>(val);
2895
2896 return ::boost::pfr::detail::make_tuple_of_references(
2897 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2898 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2899 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2900 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2901 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2902 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2903 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2904 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2905 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2906 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2907 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2908 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2909 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2910 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2911 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2912 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2913 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2914 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2915 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2916 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2917 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2918 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2919 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2920 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2921 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2922 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2923 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2924 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2925 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2926 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2927 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2928 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2929 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2930 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
2931 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk)
2932 );
2933 }
2934
2935 template <class T>
2936 constexpr auto tie_as_tuple(T& val, size_t_<105>) noexcept {
2937 auto& [
2938 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2939 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2940 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl
2941 ] = const_cast<std::remove_cv_t<T>&>(val);
2942
2943 return ::boost::pfr::detail::make_tuple_of_references(
2944 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2945 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2946 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2947 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2948 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2949 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2950 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2951 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2952 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
2953 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
2954 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
2955 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
2956 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
2957 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
2958 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
2959 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
2960 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
2961 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
2962 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
2963 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
2964 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
2965 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
2966 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
2967 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
2968 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
2969 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
2970 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
2971 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
2972 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
2973 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
2974 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
2975 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
2976 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
2977 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
2978 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl)
2979 );
2980 }
2981
2982 template <class T>
2983 constexpr auto tie_as_tuple(T& val, size_t_<106>) noexcept {
2984 auto& [
2985 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
2986 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
2987 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm
2988 ] = const_cast<std::remove_cv_t<T>&>(val);
2989
2990 return ::boost::pfr::detail::make_tuple_of_references(
2991 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
2992 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
2993 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
2994 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
2995 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
2996 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
2997 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
2998 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
2999 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3000 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3001 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3002 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3003 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3004 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3005 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3006 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3007 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3008 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3009 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3010 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3011 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3012 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3013 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3014 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3015 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3016 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3017 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3018 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3019 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3020 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3021 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3022 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3023 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3024 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3025 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3026 detail::workaround_cast<T, decltype(bm)>(bm)
3027 );
3028 }
3029
3030 template <class T>
3031 constexpr auto tie_as_tuple(T& val, size_t_<107>) noexcept {
3032 auto& [
3033 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3034 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3035 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn
3036 ] = const_cast<std::remove_cv_t<T>&>(val);
3037
3038 return ::boost::pfr::detail::make_tuple_of_references(
3039 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3040 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3041 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3042 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3043 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3044 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3045 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3046 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3047 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3048 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3049 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3050 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3051 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3052 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3053 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3054 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3055 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3056 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3057 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3058 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3059 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3060 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3061 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3062 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3063 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3064 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3065 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3066 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3067 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3068 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3069 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3070 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3071 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3072 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3073 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3074 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn)
3075 );
3076 }
3077
3078 template <class T>
3079 constexpr auto tie_as_tuple(T& val, size_t_<108>) noexcept {
3080 auto& [
3081 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3082 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3083 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp
3084 ] = const_cast<std::remove_cv_t<T>&>(val);
3085
3086 return ::boost::pfr::detail::make_tuple_of_references(
3087 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3088 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3089 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3090 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3091 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3092 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3093 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3094 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3095 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3096 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3097 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3098 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3099 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3100 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3101 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3102 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3103 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3104 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3105 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3106 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3107 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3108 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3109 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3110 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3111 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3112 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3113 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3114 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3115 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3116 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3117 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3118 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3119 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3120 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3121 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3122 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp)
3123 );
3124 }
3125
3126 template <class T>
3127 constexpr auto tie_as_tuple(T& val, size_t_<109>) noexcept {
3128 auto& [
3129 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3130 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3131 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq
3132 ] = const_cast<std::remove_cv_t<T>&>(val);
3133
3134 return ::boost::pfr::detail::make_tuple_of_references(
3135 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3136 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3137 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3138 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3139 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3140 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3141 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3142 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3143 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3144 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3145 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3146 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3147 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3148 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3149 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3150 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3151 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3152 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3153 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3154 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3155 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3156 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3157 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3158 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3159 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3160 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3161 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3162 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3163 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3164 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3165 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3166 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3167 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3168 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3169 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3170 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3171 detail::workaround_cast<T, decltype(bq)>(bq)
3172 );
3173 }
3174
3175 template <class T>
3176 constexpr auto tie_as_tuple(T& val, size_t_<110>) noexcept {
3177 auto& [
3178 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3179 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3180 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br
3181 ] = const_cast<std::remove_cv_t<T>&>(val);
3182
3183 return ::boost::pfr::detail::make_tuple_of_references(
3184 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3185 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3186 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3187 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3188 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3189 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3190 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3191 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3192 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3193 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3194 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3195 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3196 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3197 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3198 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3199 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3200 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3201 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3202 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3203 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3204 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3205 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3206 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3207 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3208 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3209 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3210 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3211 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3212 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3213 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3214 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3215 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3216 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3217 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3218 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3219 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3220 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br)
3221 );
3222 }
3223
3224 template <class T>
3225 constexpr auto tie_as_tuple(T& val, size_t_<111>) noexcept {
3226 auto& [
3227 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3228 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3229 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs
3230 ] = const_cast<std::remove_cv_t<T>&>(val);
3231
3232 return ::boost::pfr::detail::make_tuple_of_references(
3233 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3234 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3235 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3236 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3237 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3238 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3239 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3240 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3241 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3242 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3243 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3244 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3245 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3246 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3247 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3248 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3249 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3250 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3251 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3252 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3253 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3254 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3255 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3256 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3257 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3258 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3259 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3260 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3261 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3262 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3263 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3264 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3265 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3266 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3267 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3268 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3269 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs)
3270 );
3271 }
3272
3273 template <class T>
3274 constexpr auto tie_as_tuple(T& val, size_t_<112>) noexcept {
3275 auto& [
3276 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3277 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3278 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt
3279 ] = const_cast<std::remove_cv_t<T>&>(val);
3280
3281 return ::boost::pfr::detail::make_tuple_of_references(
3282 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3283 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3284 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3285 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3286 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3287 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3288 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3289 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3290 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3291 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3292 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3293 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3294 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3295 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3296 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3297 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3298 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3299 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3300 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3301 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3302 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3303 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3304 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3305 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3306 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3307 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3308 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3309 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3310 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3311 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3312 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3313 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3314 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3315 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3316 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3317 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3318 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3319 detail::workaround_cast<T, decltype(bt)>(bt)
3320 );
3321 }
3322
3323 template <class T>
3324 constexpr auto tie_as_tuple(T& val, size_t_<113>) noexcept {
3325 auto& [
3326 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3327 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3328 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu
3329 ] = const_cast<std::remove_cv_t<T>&>(val);
3330
3331 return ::boost::pfr::detail::make_tuple_of_references(
3332 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3333 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3334 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3335 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3336 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3337 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3338 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3339 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3340 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3341 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3342 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3343 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3344 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3345 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3346 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3347 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3348 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3349 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3350 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3351 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3352 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3353 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3354 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3355 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3356 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3357 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3358 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3359 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3360 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3361 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3362 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3363 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3364 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3365 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3366 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3367 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3368 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3369 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu)
3370 );
3371 }
3372
3373 template <class T>
3374 constexpr auto tie_as_tuple(T& val, size_t_<114>) noexcept {
3375 auto& [
3376 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3377 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3378 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv
3379 ] = const_cast<std::remove_cv_t<T>&>(val);
3380
3381 return ::boost::pfr::detail::make_tuple_of_references(
3382 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3383 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3384 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3385 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3386 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3387 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3388 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3389 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3390 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3391 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3392 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3393 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3394 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3395 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3396 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3397 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3398 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3399 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3400 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3401 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3402 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3403 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3404 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3405 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3406 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3407 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3408 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3409 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3410 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3411 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3412 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3413 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3414 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3415 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3416 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3417 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3418 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3419 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv)
3420 );
3421 }
3422
3423 template <class T>
3424 constexpr auto tie_as_tuple(T& val, size_t_<115>) noexcept {
3425 auto& [
3426 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3427 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3428 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw
3429 ] = const_cast<std::remove_cv_t<T>&>(val);
3430
3431 return ::boost::pfr::detail::make_tuple_of_references(
3432 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3433 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3434 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3435 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3436 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3437 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3438 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3439 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3440 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3441 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3442 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3443 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3444 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3445 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3446 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3447 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3448 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3449 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3450 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3451 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3452 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3453 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3454 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3455 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3456 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3457 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3458 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3459 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3460 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3461 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3462 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3463 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3464 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3465 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3466 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3467 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3468 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3469 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3470 detail::workaround_cast<T, decltype(bw)>(bw)
3471 );
3472 }
3473
3474 template <class T>
3475 constexpr auto tie_as_tuple(T& val, size_t_<116>) noexcept {
3476 auto& [
3477 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3478 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3479 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx
3480 ] = const_cast<std::remove_cv_t<T>&>(val);
3481
3482 return ::boost::pfr::detail::make_tuple_of_references(
3483 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3484 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3485 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3486 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3487 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3488 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3489 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3490 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3491 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3492 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3493 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3494 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3495 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3496 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3497 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3498 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3499 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3500 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3501 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3502 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3503 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3504 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3505 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3506 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3507 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3508 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3509 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3510 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3511 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3512 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3513 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3514 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3515 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3516 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3517 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3518 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3519 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3520 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3521 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx)
3522 );
3523 }
3524
3525 template <class T>
3526 constexpr auto tie_as_tuple(T& val, size_t_<117>) noexcept {
3527 auto& [
3528 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3529 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3530 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by
3531 ] = const_cast<std::remove_cv_t<T>&>(val);
3532
3533 return ::boost::pfr::detail::make_tuple_of_references(
3534 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3535 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3536 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3537 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3538 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3539 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3540 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3541 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3542 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3543 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3544 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3545 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3546 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3547 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3548 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3549 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3550 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3551 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3552 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3553 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3554 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3555 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3556 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3557 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3558 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3559 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3560 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3561 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3562 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3563 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3564 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3565 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3566 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3567 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3568 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3569 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3570 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3571 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3572 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by)
3573 );
3574 }
3575
3576 template <class T>
3577 constexpr auto tie_as_tuple(T& val, size_t_<118>) noexcept {
3578 auto& [
3579 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3580 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3581 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz
3582 ] = const_cast<std::remove_cv_t<T>&>(val);
3583
3584 return ::boost::pfr::detail::make_tuple_of_references(
3585 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3586 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3587 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3588 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3589 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3590 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3591 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3592 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3593 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3594 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3595 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3596 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3597 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3598 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3599 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3600 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3601 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3602 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3603 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3604 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3605 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3606 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3607 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3608 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3609 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3610 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3611 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3612 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3613 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3614 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3615 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3616 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3617 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3618 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3619 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3620 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3621 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3622 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3623 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3624 detail::workaround_cast<T, decltype(bz)>(bz)
3625 );
3626 }
3627
3628 template <class T>
3629 constexpr auto tie_as_tuple(T& val, size_t_<119>) noexcept {
3630 auto& [
3631 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3632 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3633 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA
3634 ] = const_cast<std::remove_cv_t<T>&>(val);
3635
3636 return ::boost::pfr::detail::make_tuple_of_references(
3637 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3638 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3639 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3640 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3641 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3642 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3643 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3644 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3645 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3646 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3647 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3648 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3649 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3650 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3651 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3652 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3653 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3654 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3655 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3656 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3657 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3658 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3659 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3660 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3661 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3662 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3663 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3664 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3665 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3666 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3667 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3668 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3669 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3670 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3671 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3672 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3673 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3674 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3675 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3676 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA)
3677 );
3678 }
3679
3680 template <class T>
3681 constexpr auto tie_as_tuple(T& val, size_t_<120>) noexcept {
3682 auto& [
3683 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3684 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3685 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB
3686 ] = const_cast<std::remove_cv_t<T>&>(val);
3687
3688 return ::boost::pfr::detail::make_tuple_of_references(
3689 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3690 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3691 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3692 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3693 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3694 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3695 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3696 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3697 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3698 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3699 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3700 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3701 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3702 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3703 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3704 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3705 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3706 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3707 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3708 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3709 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3710 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3711 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3712 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3713 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3714 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3715 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3716 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3717 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3718 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3719 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3720 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3721 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3722 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3723 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3724 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3725 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3726 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3727 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3728 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB)
3729 );
3730 }
3731
3732 template <class T>
3733 constexpr auto tie_as_tuple(T& val, size_t_<121>) noexcept {
3734 auto& [
3735 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3736 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3737 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC
3738 ] = const_cast<std::remove_cv_t<T>&>(val);
3739
3740 return ::boost::pfr::detail::make_tuple_of_references(
3741 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3742 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3743 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3744 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3745 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3746 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3747 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3748 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3749 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3750 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3751 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3752 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3753 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3754 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3755 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3756 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3757 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3758 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3759 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3760 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3761 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3762 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3763 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3764 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3765 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3766 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3767 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3768 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3769 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3770 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3771 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3772 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3773 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3774 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3775 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3776 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3777 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3778 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3779 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3780 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
3781 detail::workaround_cast<T, decltype(bC)>(bC)
3782 );
3783 }
3784
3785 template <class T>
3786 constexpr auto tie_as_tuple(T& val, size_t_<122>) noexcept {
3787 auto& [
3788 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3789 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3790 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD
3791 ] = const_cast<std::remove_cv_t<T>&>(val);
3792
3793 return ::boost::pfr::detail::make_tuple_of_references(
3794 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3795 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3796 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3797 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3798 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3799 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3800 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3801 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3802 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3803 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3804 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3805 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3806 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3807 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3808 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3809 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3810 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3811 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3812 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3813 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3814 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3815 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3816 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3817 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3818 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3819 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3820 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3821 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3822 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3823 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3824 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3825 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3826 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3827 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3828 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3829 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3830 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3831 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3832 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3833 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
3834 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD)
3835 );
3836 }
3837
3838 template <class T>
3839 constexpr auto tie_as_tuple(T& val, size_t_<123>) noexcept {
3840 auto& [
3841 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3842 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3843 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE
3844 ] = const_cast<std::remove_cv_t<T>&>(val);
3845
3846 return ::boost::pfr::detail::make_tuple_of_references(
3847 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3848 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3849 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3850 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3851 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3852 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3853 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3854 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3855 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3856 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3857 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3858 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3859 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3860 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3861 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3862 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3863 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3864 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3865 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3866 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3867 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3868 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3869 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3870 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3871 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3872 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3873 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3874 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3875 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3876 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3877 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3878 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3879 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3880 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3881 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3882 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3883 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3884 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3885 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3886 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
3887 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE)
3888 );
3889 }
3890
3891 template <class T>
3892 constexpr auto tie_as_tuple(T& val, size_t_<124>) noexcept {
3893 auto& [
3894 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3895 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3896 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF
3897 ] = const_cast<std::remove_cv_t<T>&>(val);
3898
3899 return ::boost::pfr::detail::make_tuple_of_references(
3900 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3901 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3902 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3903 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3904 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3905 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3906 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3907 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3908 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3909 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3910 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3911 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3912 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3913 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3914 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3915 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3916 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3917 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3918 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3919 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3920 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3921 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3922 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3923 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3924 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3925 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3926 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3927 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3928 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3929 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3930 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3931 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3932 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3933 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3934 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3935 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3936 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3937 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3938 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3939 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
3940 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
3941 detail::workaround_cast<T, decltype(bF)>(bF)
3942 );
3943 }
3944
3945 template <class T>
3946 constexpr auto tie_as_tuple(T& val, size_t_<125>) noexcept {
3947 auto& [
3948 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
3949 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
3950 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG
3951 ] = const_cast<std::remove_cv_t<T>&>(val);
3952
3953 return ::boost::pfr::detail::make_tuple_of_references(
3954 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
3955 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
3956 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
3957 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
3958 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
3959 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
3960 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
3961 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
3962 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
3963 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
3964 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
3965 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
3966 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
3967 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
3968 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
3969 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
3970 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
3971 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
3972 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
3973 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
3974 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
3975 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
3976 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
3977 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
3978 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
3979 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
3980 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
3981 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
3982 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
3983 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
3984 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
3985 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
3986 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
3987 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
3988 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
3989 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
3990 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
3991 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
3992 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
3993 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
3994 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
3995 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG)
3996 );
3997 }
3998
3999 template <class T>
4000 constexpr auto tie_as_tuple(T& val, size_t_<126>) noexcept {
4001 auto& [
4002 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4003 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4004 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH
4005 ] = const_cast<std::remove_cv_t<T>&>(val);
4006
4007 return ::boost::pfr::detail::make_tuple_of_references(
4008 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4009 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4010 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4011 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4012 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4013 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4014 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4015 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4016 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4017 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4018 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4019 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4020 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4021 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4022 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4023 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4024 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4025 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4026 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4027 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4028 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4029 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4030 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4031 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4032 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4033 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4034 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4035 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4036 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4037 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4038 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4039 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4040 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4041 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4042 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4043 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4044 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4045 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4046 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4047 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4048 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4049 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH)
4050 );
4051 }
4052
4053 template <class T>
4054 constexpr auto tie_as_tuple(T& val, size_t_<127>) noexcept {
4055 auto& [
4056 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4057 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4058 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ
4059 ] = const_cast<std::remove_cv_t<T>&>(val);
4060
4061 return ::boost::pfr::detail::make_tuple_of_references(
4062 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4063 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4064 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4065 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4066 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4067 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4068 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4069 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4070 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4071 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4072 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4073 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4074 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4075 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4076 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4077 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4078 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4079 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4080 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4081 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4082 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4083 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4084 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4085 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4086 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4087 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4088 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4089 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4090 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4091 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4092 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4093 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4094 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4095 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4096 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4097 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4098 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4099 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4100 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4101 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4102 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4103 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4104 detail::workaround_cast<T, decltype(bJ)>(bJ)
4105 );
4106 }
4107
4108 template <class T>
4109 constexpr auto tie_as_tuple(T& val, size_t_<128>) noexcept {
4110 auto& [
4111 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4112 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4113 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK
4114 ] = const_cast<std::remove_cv_t<T>&>(val);
4115
4116 return ::boost::pfr::detail::make_tuple_of_references(
4117 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4118 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4119 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4120 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4121 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4122 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4123 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4124 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4125 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4126 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4127 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4128 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4129 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4130 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4131 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4132 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4133 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4134 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4135 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4136 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4137 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4138 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4139 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4140 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4141 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4142 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4143 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4144 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4145 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4146 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4147 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4148 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4149 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4150 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4151 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4152 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4153 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4154 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4155 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4156 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4157 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4158 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4159 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK)
4160 );
4161 }
4162
4163 template <class T>
4164 constexpr auto tie_as_tuple(T& val, size_t_<129>) noexcept {
4165 auto& [
4166 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4167 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4168 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL
4169 ] = const_cast<std::remove_cv_t<T>&>(val);
4170
4171 return ::boost::pfr::detail::make_tuple_of_references(
4172 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4173 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4174 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4175 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4176 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4177 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4178 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4179 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4180 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4181 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4182 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4183 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4184 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4185 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4186 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4187 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4188 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4189 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4190 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4191 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4192 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4193 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4194 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4195 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4196 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4197 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4198 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4199 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4200 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4201 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4202 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4203 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4204 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4205 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4206 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4207 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4208 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4209 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4210 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4211 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4212 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4213 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4214 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL)
4215 );
4216 }
4217
4218 template <class T>
4219 constexpr auto tie_as_tuple(T& val, size_t_<130>) noexcept {
4220 auto& [
4221 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4222 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4223 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM
4224 ] = const_cast<std::remove_cv_t<T>&>(val);
4225
4226 return ::boost::pfr::detail::make_tuple_of_references(
4227 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4228 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4229 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4230 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4231 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4232 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4233 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4234 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4235 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4236 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4237 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4238 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4239 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4240 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4241 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4242 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4243 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4244 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4245 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4246 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4247 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4248 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4249 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4250 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4251 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4252 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4253 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4254 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4255 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4256 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4257 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4258 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4259 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4260 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4261 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4262 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4263 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4264 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4265 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4266 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4267 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4268 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4269 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4270 detail::workaround_cast<T, decltype(bM)>(bM)
4271 );
4272 }
4273
4274 template <class T>
4275 constexpr auto tie_as_tuple(T& val, size_t_<131>) noexcept {
4276 auto& [
4277 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4278 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4279 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN
4280 ] = const_cast<std::remove_cv_t<T>&>(val);
4281
4282 return ::boost::pfr::detail::make_tuple_of_references(
4283 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4284 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4285 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4286 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4287 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4288 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4289 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4290 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4291 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4292 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4293 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4294 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4295 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4296 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4297 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4298 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4299 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4300 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4301 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4302 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4303 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4304 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4305 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4306 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4307 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4308 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4309 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4310 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4311 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4312 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4313 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4314 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4315 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4316 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4317 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4318 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4319 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4320 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4321 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4322 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4323 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4324 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4325 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4326 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN)
4327 );
4328 }
4329
4330 template <class T>
4331 constexpr auto tie_as_tuple(T& val, size_t_<132>) noexcept {
4332 auto& [
4333 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4334 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4335 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP
4336 ] = const_cast<std::remove_cv_t<T>&>(val);
4337
4338 return ::boost::pfr::detail::make_tuple_of_references(
4339 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4340 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4341 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4342 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4343 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4344 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4345 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4346 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4347 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4348 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4349 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4350 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4351 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4352 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4353 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4354 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4355 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4356 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4357 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4358 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4359 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4360 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4361 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4362 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4363 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4364 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4365 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4366 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4367 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4368 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4369 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4370 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4371 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4372 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4373 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4374 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4375 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4376 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4377 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4378 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4379 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4380 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4381 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4382 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP)
4383 );
4384 }
4385
4386 template <class T>
4387 constexpr auto tie_as_tuple(T& val, size_t_<133>) noexcept {
4388 auto& [
4389 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4390 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4391 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ
4392 ] = const_cast<std::remove_cv_t<T>&>(val);
4393
4394 return ::boost::pfr::detail::make_tuple_of_references(
4395 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4396 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4397 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4398 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4399 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4400 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4401 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4402 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4403 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4404 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4405 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4406 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4407 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4408 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4409 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4410 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4411 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4412 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4413 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4414 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4415 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4416 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4417 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4418 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4419 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4420 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4421 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4422 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4423 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4424 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4425 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4426 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4427 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4428 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4429 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4430 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4431 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4432 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4433 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4434 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4435 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4436 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4437 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4438 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4439 detail::workaround_cast<T, decltype(bQ)>(bQ)
4440 );
4441 }
4442
4443 template <class T>
4444 constexpr auto tie_as_tuple(T& val, size_t_<134>) noexcept {
4445 auto& [
4446 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4447 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4448 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR
4449 ] = const_cast<std::remove_cv_t<T>&>(val);
4450
4451 return ::boost::pfr::detail::make_tuple_of_references(
4452 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4453 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4454 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4455 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4456 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4457 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4458 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4459 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4460 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4461 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4462 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4463 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4464 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4465 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4466 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4467 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4468 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4469 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4470 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4471 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4472 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4473 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4474 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4475 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4476 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4477 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4478 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4479 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4480 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4481 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4482 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4483 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4484 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4485 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4486 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4487 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4488 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4489 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4490 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4491 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4492 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4493 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4494 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4495 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4496 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR)
4497 );
4498 }
4499
4500 template <class T>
4501 constexpr auto tie_as_tuple(T& val, size_t_<135>) noexcept {
4502 auto& [
4503 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4504 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4505 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS
4506 ] = const_cast<std::remove_cv_t<T>&>(val);
4507
4508 return ::boost::pfr::detail::make_tuple_of_references(
4509 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4510 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4511 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4512 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4513 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4514 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4515 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4516 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4517 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4518 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4519 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4520 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4521 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4522 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4523 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4524 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4525 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4526 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4527 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4528 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4529 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4530 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4531 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4532 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4533 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4534 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4535 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4536 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4537 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4538 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4539 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4540 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4541 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4542 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4543 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4544 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4545 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4546 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4547 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4548 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4549 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4550 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4551 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4552 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4553 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS)
4554 );
4555 }
4556
4557 template <class T>
4558 constexpr auto tie_as_tuple(T& val, size_t_<136>) noexcept {
4559 auto& [
4560 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4561 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4562 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU
4563 ] = const_cast<std::remove_cv_t<T>&>(val);
4564
4565 return ::boost::pfr::detail::make_tuple_of_references(
4566 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4567 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4568 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4569 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4570 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4571 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4572 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4573 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4574 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4575 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4576 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4577 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4578 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4579 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4580 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4581 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4582 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4583 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4584 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4585 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4586 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4587 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4588 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4589 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4590 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4591 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4592 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4593 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4594 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4595 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4596 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4597 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4598 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4599 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4600 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4601 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4602 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4603 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4604 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4605 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4606 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4607 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4608 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4609 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4610 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4611 detail::workaround_cast<T, decltype(bU)>(bU)
4612 );
4613 }
4614
4615 template <class T>
4616 constexpr auto tie_as_tuple(T& val, size_t_<137>) noexcept {
4617 auto& [
4618 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4619 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4620 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV
4621 ] = const_cast<std::remove_cv_t<T>&>(val);
4622
4623 return ::boost::pfr::detail::make_tuple_of_references(
4624 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4625 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4626 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4627 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4628 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4629 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4630 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4631 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4632 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4633 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4634 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4635 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4636 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4637 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4638 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4639 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4640 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4641 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4642 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4643 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4644 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4645 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4646 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4647 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4648 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4649 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4650 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4651 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4652 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4653 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4654 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4655 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4656 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4657 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4658 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4659 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4660 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4661 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4662 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4663 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4664 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4665 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4666 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4667 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4668 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4669 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV)
4670 );
4671 }
4672
4673 template <class T>
4674 constexpr auto tie_as_tuple(T& val, size_t_<138>) noexcept {
4675 auto& [
4676 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4677 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4678 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW
4679 ] = const_cast<std::remove_cv_t<T>&>(val);
4680
4681 return ::boost::pfr::detail::make_tuple_of_references(
4682 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4683 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4684 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4685 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4686 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4687 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4688 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4689 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4690 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4691 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4692 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4693 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4694 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4695 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4696 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4697 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4698 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4699 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4700 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4701 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4702 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4703 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4704 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4705 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4706 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4707 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4708 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4709 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4710 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4711 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4712 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4713 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4714 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4715 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4716 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4717 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4718 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4719 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4720 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4721 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4722 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4723 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4724 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4725 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4726 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4727 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW)
4728 );
4729 }
4730
4731 template <class T>
4732 constexpr auto tie_as_tuple(T& val, size_t_<139>) noexcept {
4733 auto& [
4734 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4735 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4736 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX
4737 ] = const_cast<std::remove_cv_t<T>&>(val);
4738
4739 return ::boost::pfr::detail::make_tuple_of_references(
4740 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4741 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4742 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4743 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4744 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4745 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4746 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4747 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4748 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4749 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4750 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4751 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4752 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4753 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4754 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4755 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4756 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4757 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4758 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4759 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4760 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4761 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4762 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4763 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4764 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4765 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4766 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4767 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4768 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4769 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4770 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4771 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4772 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4773 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4774 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4775 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4776 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4777 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4778 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4779 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4780 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4781 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4782 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4783 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4784 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4785 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
4786 detail::workaround_cast<T, decltype(bX)>(bX)
4787 );
4788 }
4789
4790 template <class T>
4791 constexpr auto tie_as_tuple(T& val, size_t_<140>) noexcept {
4792 auto& [
4793 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4794 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4795 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY
4796 ] = const_cast<std::remove_cv_t<T>&>(val);
4797
4798 return ::boost::pfr::detail::make_tuple_of_references(
4799 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4800 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4801 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4802 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4803 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4804 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4805 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4806 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4807 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4808 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4809 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4810 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4811 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4812 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4813 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4814 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4815 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4816 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4817 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4818 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4819 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4820 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4821 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4822 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4823 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4824 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4825 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4826 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4827 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4828 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4829 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4830 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4831 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4832 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4833 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4834 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4835 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4836 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4837 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4838 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4839 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4840 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4841 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4842 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4843 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4844 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
4845 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY)
4846 );
4847 }
4848
4849 template <class T>
4850 constexpr auto tie_as_tuple(T& val, size_t_<141>) noexcept {
4851 auto& [
4852 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4853 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4854 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ
4855 ] = const_cast<std::remove_cv_t<T>&>(val);
4856
4857 return ::boost::pfr::detail::make_tuple_of_references(
4858 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4859 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4860 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4861 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4862 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4863 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4864 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4865 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4866 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4867 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4868 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4869 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4870 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4871 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4872 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4873 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4874 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4875 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4876 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4877 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4878 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4879 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4880 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4881 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4882 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4883 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4884 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4885 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4886 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4887 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4888 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4889 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4890 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4891 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4892 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4893 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4894 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4895 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4896 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4897 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4898 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4899 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4900 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4901 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4902 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4903 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
4904 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ)
4905 );
4906 }
4907
4908 template <class T>
4909 constexpr auto tie_as_tuple(T& val, size_t_<142>) noexcept {
4910 auto& [
4911 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4912 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4913 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
4914 ca
4915 ] = const_cast<std::remove_cv_t<T>&>(val);
4916
4917 return ::boost::pfr::detail::make_tuple_of_references(
4918 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4919 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4920 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4921 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4922 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4923 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4924 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4925 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4926 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4927 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4928 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4929 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4930 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4931 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4932 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4933 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4934 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4935 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4936 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4937 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4938 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
4939 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
4940 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
4941 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
4942 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
4943 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
4944 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
4945 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
4946 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
4947 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
4948 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
4949 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
4950 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
4951 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
4952 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
4953 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
4954 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
4955 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
4956 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
4957 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
4958 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
4959 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
4960 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
4961 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
4962 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
4963 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
4964 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
4965 detail::workaround_cast<T, decltype(ca)>(ca)
4966 );
4967 }
4968
4969 template <class T>
4970 constexpr auto tie_as_tuple(T& val, size_t_<143>) noexcept {
4971 auto& [
4972 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
4973 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
4974 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
4975 ca,cb
4976 ] = const_cast<std::remove_cv_t<T>&>(val);
4977
4978 return ::boost::pfr::detail::make_tuple_of_references(
4979 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
4980 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
4981 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
4982 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
4983 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
4984 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
4985 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
4986 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
4987 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
4988 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
4989 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
4990 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
4991 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
4992 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
4993 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
4994 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
4995 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
4996 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
4997 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
4998 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
4999 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5000 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5001 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5002 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5003 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5004 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5005 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5006 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5007 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5008 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5009 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5010 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5011 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5012 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5013 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5014 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5015 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5016 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5017 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5018 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5019 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5020 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5021 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5022 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5023 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5024 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5025 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5026 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb)
5027 );
5028 }
5029
5030 template <class T>
5031 constexpr auto tie_as_tuple(T& val, size_t_<144>) noexcept {
5032 auto& [
5033 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5034 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5035 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5036 ca,cb,cc
5037 ] = const_cast<std::remove_cv_t<T>&>(val);
5038
5039 return ::boost::pfr::detail::make_tuple_of_references(
5040 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5041 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5042 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5043 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5044 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5045 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5046 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5047 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5048 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5049 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5050 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5051 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5052 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5053 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5054 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5055 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5056 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5057 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5058 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5059 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5060 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5061 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5062 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5063 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5064 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5065 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5066 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5067 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5068 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5069 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5070 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5071 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5072 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5073 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5074 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5075 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5076 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5077 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5078 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5079 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5080 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5081 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5082 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5083 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5084 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5085 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5086 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5087 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc)
5088 );
5089 }
5090
5091 template <class T>
5092 constexpr auto tie_as_tuple(T& val, size_t_<145>) noexcept {
5093 auto& [
5094 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5095 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5096 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5097 ca,cb,cc,cd
5098 ] = const_cast<std::remove_cv_t<T>&>(val);
5099
5100 return ::boost::pfr::detail::make_tuple_of_references(
5101 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5102 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5103 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5104 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5105 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5106 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5107 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5108 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5109 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5110 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5111 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5112 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5113 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5114 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5115 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5116 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5117 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5118 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5119 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5120 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5121 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5122 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5123 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5124 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5125 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5126 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5127 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5128 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5129 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5130 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5131 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5132 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5133 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5134 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5135 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5136 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5137 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5138 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5139 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5140 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5141 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5142 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5143 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5144 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5145 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5146 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5147 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5148 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5149 detail::workaround_cast<T, decltype(cd)>(cd)
5150 );
5151 }
5152
5153 template <class T>
5154 constexpr auto tie_as_tuple(T& val, size_t_<146>) noexcept {
5155 auto& [
5156 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5157 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5158 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5159 ca,cb,cc,cd,ce
5160 ] = const_cast<std::remove_cv_t<T>&>(val);
5161
5162 return ::boost::pfr::detail::make_tuple_of_references(
5163 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5164 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5165 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5166 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5167 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5168 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5169 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5170 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5171 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5172 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5173 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5174 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5175 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5176 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5177 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5178 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5179 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5180 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5181 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5182 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5183 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5184 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5185 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5186 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5187 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5188 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5189 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5190 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5191 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5192 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5193 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5194 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5195 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5196 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5197 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5198 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5199 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5200 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5201 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5202 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5203 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5204 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5205 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5206 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5207 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5208 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5209 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5210 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5211 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce)
5212 );
5213 }
5214
5215 template <class T>
5216 constexpr auto tie_as_tuple(T& val, size_t_<147>) noexcept {
5217 auto& [
5218 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5219 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5220 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5221 ca,cb,cc,cd,ce,cf
5222 ] = const_cast<std::remove_cv_t<T>&>(val);
5223
5224 return ::boost::pfr::detail::make_tuple_of_references(
5225 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5226 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5227 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5228 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5229 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5230 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5231 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5232 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5233 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5234 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5235 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5236 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5237 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5238 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5239 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5240 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5241 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5242 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5243 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5244 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5245 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5246 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5247 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5248 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5249 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5250 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5251 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5252 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5253 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5254 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5255 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5256 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5257 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5258 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5259 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5260 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5261 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5262 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5263 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5264 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5265 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5266 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5267 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5268 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5269 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5270 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5271 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5272 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5273 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf)
5274 );
5275 }
5276
5277 template <class T>
5278 constexpr auto tie_as_tuple(T& val, size_t_<148>) noexcept {
5279 auto& [
5280 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5281 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5282 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5283 ca,cb,cc,cd,ce,cf,cg
5284 ] = const_cast<std::remove_cv_t<T>&>(val);
5285
5286 return ::boost::pfr::detail::make_tuple_of_references(
5287 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5288 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5289 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5290 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5291 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5292 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5293 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5294 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5295 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5296 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5297 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5298 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5299 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5300 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5301 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5302 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5303 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5304 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5305 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5306 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5307 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5308 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5309 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5310 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5311 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5312 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5313 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5314 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5315 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5316 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5317 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5318 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5319 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5320 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5321 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5322 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5323 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5324 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5325 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5326 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5327 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5328 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5329 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5330 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5331 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5332 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5333 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5334 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5335 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5336 detail::workaround_cast<T, decltype(cg)>(cg)
5337 );
5338 }
5339
5340 template <class T>
5341 constexpr auto tie_as_tuple(T& val, size_t_<149>) noexcept {
5342 auto& [
5343 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5344 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5345 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5346 ca,cb,cc,cd,ce,cf,cg,ch
5347 ] = const_cast<std::remove_cv_t<T>&>(val);
5348
5349 return ::boost::pfr::detail::make_tuple_of_references(
5350 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5351 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5352 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5353 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5354 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5355 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5356 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5357 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5358 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5359 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5360 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5361 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5362 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5363 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5364 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5365 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5366 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5367 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5368 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5369 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5370 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5371 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5372 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5373 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5374 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5375 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5376 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5377 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5378 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5379 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5380 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5381 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5382 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5383 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5384 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5385 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5386 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5387 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5388 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5389 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5390 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5391 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5392 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5393 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5394 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5395 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5396 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5397 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5398 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5399 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch)
5400 );
5401 }
5402
5403 template <class T>
5404 constexpr auto tie_as_tuple(T& val, size_t_<150>) noexcept {
5405 auto& [
5406 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5407 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5408 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5409 ca,cb,cc,cd,ce,cf,cg,ch,cj
5410 ] = const_cast<std::remove_cv_t<T>&>(val);
5411
5412 return ::boost::pfr::detail::make_tuple_of_references(
5413 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5414 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5415 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5416 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5417 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5418 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5419 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5420 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5421 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5422 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5423 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5424 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5425 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5426 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5427 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5428 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5429 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5430 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5431 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5432 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5433 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5434 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5435 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5436 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5437 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5438 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5439 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5440 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5441 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5442 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5443 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5444 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5445 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5446 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5447 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5448 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5449 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5450 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5451 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5452 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5453 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5454 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5455 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5456 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5457 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5458 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5459 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5460 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5461 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5462 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj)
5463 );
5464 }
5465
5466 template <class T>
5467 constexpr auto tie_as_tuple(T& val, size_t_<151>) noexcept {
5468 auto& [
5469 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5470 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5471 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5472 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck
5473 ] = const_cast<std::remove_cv_t<T>&>(val);
5474
5475 return ::boost::pfr::detail::make_tuple_of_references(
5476 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5477 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5478 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5479 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5480 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5481 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5482 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5483 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5484 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5485 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5486 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5487 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5488 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5489 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5490 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5491 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5492 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5493 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5494 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5495 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5496 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5497 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5498 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5499 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5500 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5501 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5502 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5503 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5504 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5505 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5506 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5507 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5508 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5509 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5510 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5511 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5512 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5513 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5514 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5515 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5516 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5517 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5518 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5519 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5520 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5521 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5522 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5523 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5524 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5525 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5526 detail::workaround_cast<T, decltype(ck)>(ck)
5527 );
5528 }
5529
5530 template <class T>
5531 constexpr auto tie_as_tuple(T& val, size_t_<152>) noexcept {
5532 auto& [
5533 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5534 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5535 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5536 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl
5537 ] = const_cast<std::remove_cv_t<T>&>(val);
5538
5539 return ::boost::pfr::detail::make_tuple_of_references(
5540 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5541 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5542 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5543 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5544 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5545 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5546 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5547 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5548 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5549 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5550 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5551 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5552 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5553 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5554 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5555 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5556 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5557 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5558 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5559 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5560 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5561 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5562 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5563 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5564 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5565 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5566 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5567 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5568 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5569 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5570 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5571 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5572 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5573 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5574 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5575 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5576 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5577 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5578 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5579 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5580 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5581 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5582 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5583 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5584 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5585 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5586 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5587 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5588 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5589 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5590 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl)
5591 );
5592 }
5593
5594 template <class T>
5595 constexpr auto tie_as_tuple(T& val, size_t_<153>) noexcept {
5596 auto& [
5597 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5598 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5599 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5600 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm
5601 ] = const_cast<std::remove_cv_t<T>&>(val);
5602
5603 return ::boost::pfr::detail::make_tuple_of_references(
5604 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5605 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5606 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5607 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5608 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5609 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5610 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5611 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5612 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5613 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5614 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5615 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5616 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5617 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5618 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5619 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5620 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5621 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5622 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5623 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5624 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5625 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5626 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5627 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5628 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5629 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5630 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5631 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5632 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5633 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5634 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5635 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5636 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5637 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5638 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5639 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5640 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5641 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5642 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5643 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5644 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5645 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5646 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5647 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5648 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5649 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5650 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5651 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5652 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5653 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5654 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm)
5655 );
5656 }
5657
5658 template <class T>
5659 constexpr auto tie_as_tuple(T& val, size_t_<154>) noexcept {
5660 auto& [
5661 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5662 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5663 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5664 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn
5665 ] = const_cast<std::remove_cv_t<T>&>(val);
5666
5667 return ::boost::pfr::detail::make_tuple_of_references(
5668 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5669 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5670 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5671 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5672 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5673 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5674 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5675 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5676 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5677 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5678 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5679 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5680 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5681 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5682 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5683 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5684 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5685 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5686 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5687 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5688 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5689 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5690 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5691 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5692 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5693 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5694 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5695 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5696 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5697 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5698 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5699 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5700 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5701 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5702 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5703 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5704 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5705 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5706 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5707 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5708 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5709 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5710 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5711 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5712 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5713 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5714 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5715 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5716 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5717 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5718 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
5719 detail::workaround_cast<T, decltype(cn)>(cn)
5720 );
5721 }
5722
5723 template <class T>
5724 constexpr auto tie_as_tuple(T& val, size_t_<155>) noexcept {
5725 auto& [
5726 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5727 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5728 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5729 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp
5730 ] = const_cast<std::remove_cv_t<T>&>(val);
5731
5732 return ::boost::pfr::detail::make_tuple_of_references(
5733 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5734 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5735 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5736 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5737 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5738 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5739 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5740 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5741 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5742 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5743 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5744 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5745 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5746 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5747 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5748 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5749 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5750 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5751 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5752 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5753 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5754 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5755 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5756 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5757 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5758 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5759 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5760 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5761 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5762 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5763 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5764 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5765 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5766 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5767 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5768 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5769 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5770 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5771 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5772 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5773 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5774 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5775 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5776 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5777 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5778 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5779 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5780 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5781 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5782 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5783 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
5784 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp)
5785 );
5786 }
5787
5788 template <class T>
5789 constexpr auto tie_as_tuple(T& val, size_t_<156>) noexcept {
5790 auto& [
5791 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5792 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5793 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5794 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq
5795 ] = const_cast<std::remove_cv_t<T>&>(val);
5796
5797 return ::boost::pfr::detail::make_tuple_of_references(
5798 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5799 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5800 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5801 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5802 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5803 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5804 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5805 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5806 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5807 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5808 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5809 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5810 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5811 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5812 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5813 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5814 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5815 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5816 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5817 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5818 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5819 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5820 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5821 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5822 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5823 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5824 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5825 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5826 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5827 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5828 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5829 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5830 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5831 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5832 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5833 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5834 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5835 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5836 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5837 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5838 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5839 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5840 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5841 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5842 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5843 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5844 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5845 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5846 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5847 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5848 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
5849 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq)
5850 );
5851 }
5852
5853 template <class T>
5854 constexpr auto tie_as_tuple(T& val, size_t_<157>) noexcept {
5855 auto& [
5856 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5857 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5858 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5859 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr
5860 ] = const_cast<std::remove_cv_t<T>&>(val);
5861
5862 return ::boost::pfr::detail::make_tuple_of_references(
5863 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5864 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5865 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5866 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5867 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5868 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5869 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5870 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5871 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5872 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5873 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5874 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5875 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5876 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5877 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5878 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5879 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5880 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5881 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5882 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5883 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5884 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5885 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5886 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5887 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5888 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5889 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5890 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5891 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5892 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5893 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5894 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5895 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5896 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5897 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5898 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5899 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5900 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5901 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5902 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5903 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5904 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5905 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5906 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5907 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5908 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5909 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5910 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5911 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5912 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5913 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
5914 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
5915 detail::workaround_cast<T, decltype(cr)>(cr)
5916 );
5917 }
5918
5919 template <class T>
5920 constexpr auto tie_as_tuple(T& val, size_t_<158>) noexcept {
5921 auto& [
5922 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5923 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5924 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5925 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs
5926 ] = const_cast<std::remove_cv_t<T>&>(val);
5927
5928 return ::boost::pfr::detail::make_tuple_of_references(
5929 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5930 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5931 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5932 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5933 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
5934 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
5935 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
5936 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
5937 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
5938 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
5939 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
5940 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
5941 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
5942 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
5943 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
5944 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
5945 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
5946 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
5947 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
5948 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
5949 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
5950 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
5951 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
5952 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
5953 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
5954 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
5955 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
5956 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
5957 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
5958 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
5959 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
5960 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
5961 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
5962 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
5963 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
5964 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
5965 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
5966 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
5967 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
5968 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
5969 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
5970 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
5971 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
5972 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
5973 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
5974 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
5975 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
5976 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
5977 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
5978 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
5979 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
5980 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
5981 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs)
5982 );
5983 }
5984
5985 template <class T>
5986 constexpr auto tie_as_tuple(T& val, size_t_<159>) noexcept {
5987 auto& [
5988 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
5989 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
5990 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
5991 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct
5992 ] = const_cast<std::remove_cv_t<T>&>(val);
5993
5994 return ::boost::pfr::detail::make_tuple_of_references(
5995 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
5996 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
5997 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
5998 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
5999 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6000 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6001 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6002 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6003 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6004 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6005 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6006 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6007 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6008 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6009 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6010 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6011 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6012 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6013 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6014 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6015 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6016 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6017 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6018 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6019 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6020 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6021 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6022 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6023 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6024 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6025 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6026 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6027 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6028 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6029 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6030 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6031 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6032 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6033 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6034 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6035 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6036 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6037 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6038 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6039 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6040 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6041 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6042 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6043 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6044 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6045 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6046 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6047 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct)
6048 );
6049 }
6050
6051 template <class T>
6052 constexpr auto tie_as_tuple(T& val, size_t_<160>) noexcept {
6053 auto& [
6054 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6055 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6056 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6057 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu
6058 ] = const_cast<std::remove_cv_t<T>&>(val);
6059
6060 return ::boost::pfr::detail::make_tuple_of_references(
6061 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6062 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6063 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6064 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6065 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6066 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6067 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6068 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6069 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6070 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6071 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6072 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6073 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6074 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6075 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6076 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6077 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6078 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6079 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6080 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6081 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6082 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6083 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6084 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6085 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6086 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6087 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6088 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6089 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6090 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6091 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6092 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6093 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6094 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6095 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6096 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6097 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6098 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6099 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6100 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6101 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6102 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6103 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6104 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6105 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6106 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6107 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6108 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6109 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6110 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6111 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6112 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6113 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6114 detail::workaround_cast<T, decltype(cu)>(cu)
6115 );
6116 }
6117
6118 template <class T>
6119 constexpr auto tie_as_tuple(T& val, size_t_<161>) noexcept {
6120 auto& [
6121 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6122 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6123 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6124 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv
6125 ] = const_cast<std::remove_cv_t<T>&>(val);
6126
6127 return ::boost::pfr::detail::make_tuple_of_references(
6128 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6129 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6130 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6131 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6132 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6133 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6134 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6135 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6136 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6137 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6138 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6139 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6140 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6141 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6142 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6143 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6144 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6145 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6146 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6147 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6148 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6149 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6150 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6151 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6152 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6153 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6154 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6155 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6156 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6157 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6158 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6159 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6160 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6161 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6162 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6163 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6164 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6165 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6166 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6167 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6168 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6169 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6170 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6171 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6172 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6173 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6174 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6175 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6176 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6177 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6178 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6179 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6180 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6181 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv)
6182 );
6183 }
6184
6185 template <class T>
6186 constexpr auto tie_as_tuple(T& val, size_t_<162>) noexcept {
6187 auto& [
6188 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6189 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6190 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6191 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw
6192 ] = const_cast<std::remove_cv_t<T>&>(val);
6193
6194 return ::boost::pfr::detail::make_tuple_of_references(
6195 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6196 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6197 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6198 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6199 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6200 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6201 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6202 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6203 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6204 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6205 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6206 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6207 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6208 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6209 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6210 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6211 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6212 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6213 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6214 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6215 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6216 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6217 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6218 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6219 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6220 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6221 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6222 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6223 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6224 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6225 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6226 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6227 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6228 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6229 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6230 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6231 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6232 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6233 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6234 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6235 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6236 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6237 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6238 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6239 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6240 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6241 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6242 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6243 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6244 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6245 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6246 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6247 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6248 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw)
6249 );
6250 }
6251
6252 template <class T>
6253 constexpr auto tie_as_tuple(T& val, size_t_<163>) noexcept {
6254 auto& [
6255 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6256 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6257 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6258 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx
6259 ] = const_cast<std::remove_cv_t<T>&>(val);
6260
6261 return ::boost::pfr::detail::make_tuple_of_references(
6262 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6263 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6264 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6265 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6266 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6267 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6268 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6269 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6270 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6271 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6272 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6273 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6274 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6275 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6276 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6277 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6278 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6279 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6280 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6281 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6282 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6283 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6284 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6285 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6286 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6287 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6288 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6289 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6290 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6291 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6292 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6293 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6294 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6295 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6296 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6297 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6298 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6299 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6300 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6301 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6302 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6303 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6304 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6305 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6306 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6307 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6308 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6309 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6310 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6311 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6312 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6313 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6314 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6315 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6316 detail::workaround_cast<T, decltype(cx)>(cx)
6317 );
6318 }
6319
6320 template <class T>
6321 constexpr auto tie_as_tuple(T& val, size_t_<164>) noexcept {
6322 auto& [
6323 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6324 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6325 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6326 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy
6327 ] = const_cast<std::remove_cv_t<T>&>(val);
6328
6329 return ::boost::pfr::detail::make_tuple_of_references(
6330 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6331 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6332 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6333 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6334 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6335 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6336 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6337 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6338 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6339 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6340 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6341 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6342 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6343 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6344 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6345 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6346 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6347 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6348 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6349 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6350 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6351 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6352 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6353 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6354 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6355 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6356 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6357 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6358 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6359 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6360 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6361 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6362 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6363 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6364 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6365 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6366 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6367 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6368 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6369 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6370 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6371 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6372 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6373 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6374 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6375 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6376 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6377 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6378 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6379 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6380 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6381 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6382 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6383 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6384 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy)
6385 );
6386 }
6387
6388 template <class T>
6389 constexpr auto tie_as_tuple(T& val, size_t_<165>) noexcept {
6390 auto& [
6391 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6392 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6393 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6394 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz
6395 ] = const_cast<std::remove_cv_t<T>&>(val);
6396
6397 return ::boost::pfr::detail::make_tuple_of_references(
6398 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6399 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6400 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6401 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6402 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6403 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6404 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6405 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6406 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6407 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6408 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6409 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6410 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6411 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6412 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6413 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6414 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6415 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6416 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6417 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6418 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6419 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6420 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6421 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6422 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6423 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6424 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6425 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6426 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6427 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6428 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6429 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6430 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6431 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6432 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6433 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6434 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6435 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6436 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6437 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6438 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6439 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6440 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6441 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6442 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6443 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6444 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6445 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6446 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6447 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6448 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6449 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6450 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6451 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6452 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz)
6453 );
6454 }
6455
6456 template <class T>
6457 constexpr auto tie_as_tuple(T& val, size_t_<166>) noexcept {
6458 auto& [
6459 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6460 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6461 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6462 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA
6463 ] = const_cast<std::remove_cv_t<T>&>(val);
6464
6465 return ::boost::pfr::detail::make_tuple_of_references(
6466 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6467 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6468 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6469 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6470 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6471 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6472 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6473 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6474 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6475 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6476 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6477 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6478 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6479 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6480 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6481 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6482 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6483 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6484 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6485 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6486 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6487 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6488 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6489 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6490 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6491 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6492 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6493 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6494 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6495 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6496 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6497 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6498 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6499 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6500 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6501 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6502 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6503 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6504 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6505 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6506 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6507 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6508 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6509 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6510 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6511 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6512 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6513 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6514 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6515 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6516 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6517 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6518 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6519 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6520 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6521 detail::workaround_cast<T, decltype(cA)>(cA)
6522 );
6523 }
6524
6525 template <class T>
6526 constexpr auto tie_as_tuple(T& val, size_t_<167>) noexcept {
6527 auto& [
6528 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6529 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6530 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6531 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB
6532 ] = const_cast<std::remove_cv_t<T>&>(val);
6533
6534 return ::boost::pfr::detail::make_tuple_of_references(
6535 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6536 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6537 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6538 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6539 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6540 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6541 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6542 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6543 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6544 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6545 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6546 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6547 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6548 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6549 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6550 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6551 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6552 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6553 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6554 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6555 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6556 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6557 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6558 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6559 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6560 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6561 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6562 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6563 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6564 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6565 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6566 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6567 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6568 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6569 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6570 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6571 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6572 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6573 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6574 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6575 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6576 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6577 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6578 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6579 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6580 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6581 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6582 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6583 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6584 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6585 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6586 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6587 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6588 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6589 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6590 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB)
6591 );
6592 }
6593
6594 template <class T>
6595 constexpr auto tie_as_tuple(T& val, size_t_<168>) noexcept {
6596 auto& [
6597 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6598 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6599 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6600 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC
6601 ] = const_cast<std::remove_cv_t<T>&>(val);
6602
6603 return ::boost::pfr::detail::make_tuple_of_references(
6604 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6605 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6606 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6607 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6608 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6609 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6610 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6611 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6612 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6613 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6614 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6615 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6616 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6617 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6618 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6619 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6620 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6621 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6622 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6623 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6624 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6625 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6626 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6627 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6628 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6629 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6630 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6631 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6632 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6633 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6634 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6635 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6636 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6637 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6638 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6639 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6640 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6641 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6642 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6643 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6644 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6645 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6646 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6647 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6648 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6649 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6650 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6651 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6652 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6653 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6654 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6655 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6656 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6657 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6658 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6659 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC)
6660 );
6661 }
6662
6663 template <class T>
6664 constexpr auto tie_as_tuple(T& val, size_t_<169>) noexcept {
6665 auto& [
6666 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6667 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6668 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6669 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD
6670 ] = const_cast<std::remove_cv_t<T>&>(val);
6671
6672 return ::boost::pfr::detail::make_tuple_of_references(
6673 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6674 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6675 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6676 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6677 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6678 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6679 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6680 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6681 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6682 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6683 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6684 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6685 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6686 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6687 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6688 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6689 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6690 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6691 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6692 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6693 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6694 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6695 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6696 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6697 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6698 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6699 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6700 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6701 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6702 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6703 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6704 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6705 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6706 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6707 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6708 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6709 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6710 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6711 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6712 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6713 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6714 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6715 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6716 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6717 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6718 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6719 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6720 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6721 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6722 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6723 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6724 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6725 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6726 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6727 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6728 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
6729 detail::workaround_cast<T, decltype(cD)>(cD)
6730 );
6731 }
6732
6733 template <class T>
6734 constexpr auto tie_as_tuple(T& val, size_t_<170>) noexcept {
6735 auto& [
6736 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6737 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6738 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6739 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE
6740 ] = const_cast<std::remove_cv_t<T>&>(val);
6741
6742 return ::boost::pfr::detail::make_tuple_of_references(
6743 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6744 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6745 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6746 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6747 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6748 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6749 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6750 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6751 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6752 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6753 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6754 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6755 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6756 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6757 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6758 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6759 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6760 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6761 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6762 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6763 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6764 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6765 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6766 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6767 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6768 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6769 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6770 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6771 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6772 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6773 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6774 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6775 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6776 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6777 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6778 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6779 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6780 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6781 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6782 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6783 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6784 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6785 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6786 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6787 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6788 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6789 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6790 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6791 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6792 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6793 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6794 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6795 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6796 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6797 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6798 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
6799 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE)
6800 );
6801 }
6802
6803 template <class T>
6804 constexpr auto tie_as_tuple(T& val, size_t_<171>) noexcept {
6805 auto& [
6806 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6807 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6808 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6809 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF
6810 ] = const_cast<std::remove_cv_t<T>&>(val);
6811
6812 return ::boost::pfr::detail::make_tuple_of_references(
6813 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6814 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6815 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6816 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6817 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6818 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6819 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6820 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6821 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6822 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6823 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6824 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6825 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6826 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6827 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6828 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6829 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6830 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6831 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6832 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6833 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6834 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6835 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6836 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6837 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6838 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6839 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6840 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6841 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6842 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6843 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6844 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6845 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6846 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6847 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6848 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6849 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6850 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6851 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6852 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6853 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6854 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6855 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6856 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6857 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6858 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6859 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6860 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6861 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6862 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6863 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6864 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6865 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6866 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6867 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6868 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
6869 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF)
6870 );
6871 }
6872
6873 template <class T>
6874 constexpr auto tie_as_tuple(T& val, size_t_<172>) noexcept {
6875 auto& [
6876 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6877 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6878 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6879 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG
6880 ] = const_cast<std::remove_cv_t<T>&>(val);
6881
6882 return ::boost::pfr::detail::make_tuple_of_references(
6883 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6884 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6885 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6886 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6887 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6888 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6889 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6890 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6891 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6892 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6893 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6894 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6895 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6896 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6897 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6898 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6899 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6900 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6901 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6902 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6903 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6904 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6905 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6906 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6907 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6908 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6909 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6910 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6911 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6912 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6913 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6914 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6915 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6916 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6917 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6918 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6919 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6920 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6921 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6922 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6923 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6924 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6925 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6926 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6927 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6928 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
6929 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
6930 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
6931 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
6932 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
6933 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
6934 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
6935 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
6936 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
6937 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
6938 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
6939 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
6940 detail::workaround_cast<T, decltype(cG)>(cG)
6941 );
6942 }
6943
6944 template <class T>
6945 constexpr auto tie_as_tuple(T& val, size_t_<173>) noexcept {
6946 auto& [
6947 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
6948 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
6949 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
6950 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH
6951 ] = const_cast<std::remove_cv_t<T>&>(val);
6952
6953 return ::boost::pfr::detail::make_tuple_of_references(
6954 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
6955 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
6956 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
6957 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
6958 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
6959 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
6960 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
6961 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
6962 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
6963 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
6964 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
6965 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
6966 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
6967 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
6968 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
6969 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
6970 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
6971 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
6972 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
6973 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
6974 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
6975 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
6976 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
6977 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
6978 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
6979 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
6980 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
6981 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
6982 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
6983 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
6984 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
6985 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
6986 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
6987 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
6988 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
6989 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
6990 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
6991 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
6992 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
6993 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
6994 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
6995 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
6996 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
6997 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
6998 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
6999 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7000 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7001 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7002 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7003 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7004 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7005 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7006 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7007 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7008 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7009 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7010 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7011 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH)
7012 );
7013 }
7014
7015 template <class T>
7016 constexpr auto tie_as_tuple(T& val, size_t_<174>) noexcept {
7017 auto& [
7018 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7019 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7020 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7021 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ
7022 ] = const_cast<std::remove_cv_t<T>&>(val);
7023
7024 return ::boost::pfr::detail::make_tuple_of_references(
7025 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7026 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7027 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7028 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7029 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7030 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7031 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7032 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7033 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7034 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7035 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7036 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7037 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7038 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7039 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7040 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7041 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7042 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7043 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7044 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7045 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7046 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7047 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7048 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7049 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7050 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7051 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7052 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7053 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7054 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7055 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7056 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7057 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7058 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7059 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7060 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7061 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7062 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7063 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7064 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7065 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7066 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7067 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7068 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7069 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7070 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7071 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7072 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7073 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7074 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7075 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7076 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7077 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7078 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7079 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7080 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7081 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7082 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ)
7083 );
7084 }
7085
7086 template <class T>
7087 constexpr auto tie_as_tuple(T& val, size_t_<175>) noexcept {
7088 auto& [
7089 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7090 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7091 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7092 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK
7093 ] = const_cast<std::remove_cv_t<T>&>(val);
7094
7095 return ::boost::pfr::detail::make_tuple_of_references(
7096 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7097 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7098 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7099 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7100 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7101 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7102 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7103 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7104 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7105 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7106 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7107 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7108 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7109 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7110 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7111 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7112 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7113 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7114 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7115 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7116 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7117 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7118 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7119 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7120 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7121 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7122 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7123 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7124 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7125 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7126 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7127 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7128 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7129 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7130 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7131 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7132 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7133 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7134 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7135 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7136 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7137 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7138 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7139 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7140 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7141 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7142 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7143 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7144 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7145 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7146 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7147 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7148 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7149 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7150 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7151 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7152 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7153 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7154 detail::workaround_cast<T, decltype(cK)>(cK)
7155 );
7156 }
7157
7158 template <class T>
7159 constexpr auto tie_as_tuple(T& val, size_t_<176>) noexcept {
7160 auto& [
7161 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7162 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7163 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7164 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL
7165 ] = const_cast<std::remove_cv_t<T>&>(val);
7166
7167 return ::boost::pfr::detail::make_tuple_of_references(
7168 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7169 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7170 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7171 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7172 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7173 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7174 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7175 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7176 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7177 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7178 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7179 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7180 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7181 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7182 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7183 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7184 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7185 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7186 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7187 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7188 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7189 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7190 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7191 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7192 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7193 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7194 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7195 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7196 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7197 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7198 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7199 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7200 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7201 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7202 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7203 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7204 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7205 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7206 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7207 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7208 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7209 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7210 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7211 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7212 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7213 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7214 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7215 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7216 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7217 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7218 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7219 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7220 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7221 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7222 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7223 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7224 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7225 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7226 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL)
7227 );
7228 }
7229
7230 template <class T>
7231 constexpr auto tie_as_tuple(T& val, size_t_<177>) noexcept {
7232 auto& [
7233 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7234 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7235 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7236 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM
7237 ] = const_cast<std::remove_cv_t<T>&>(val);
7238
7239 return ::boost::pfr::detail::make_tuple_of_references(
7240 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7241 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7242 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7243 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7244 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7245 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7246 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7247 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7248 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7249 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7250 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7251 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7252 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7253 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7254 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7255 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7256 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7257 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7258 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7259 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7260 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7261 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7262 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7263 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7264 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7265 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7266 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7267 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7268 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7269 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7270 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7271 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7272 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7273 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7274 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7275 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7276 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7277 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7278 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7279 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7280 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7281 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7282 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7283 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7284 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7285 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7286 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7287 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7288 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7289 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7290 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7291 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7292 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7293 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7294 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7295 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7296 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7297 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7298 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM)
7299 );
7300 }
7301
7302 template <class T>
7303 constexpr auto tie_as_tuple(T& val, size_t_<178>) noexcept {
7304 auto& [
7305 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7306 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7307 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7308 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN
7309 ] = const_cast<std::remove_cv_t<T>&>(val);
7310
7311 return ::boost::pfr::detail::make_tuple_of_references(
7312 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7313 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7314 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7315 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7316 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7317 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7318 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7319 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7320 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7321 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7322 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7323 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7324 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7325 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7326 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7327 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7328 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7329 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7330 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7331 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7332 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7333 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7334 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7335 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7336 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7337 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7338 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7339 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7340 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7341 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7342 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7343 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7344 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7345 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7346 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7347 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7348 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7349 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7350 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7351 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7352 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7353 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7354 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7355 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7356 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7357 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7358 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7359 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7360 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7361 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7362 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7363 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7364 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7365 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7366 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7367 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7368 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7369 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7370 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7371 detail::workaround_cast<T, decltype(cN)>(cN)
7372 );
7373 }
7374
7375 template <class T>
7376 constexpr auto tie_as_tuple(T& val, size_t_<179>) noexcept {
7377 auto& [
7378 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7379 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7380 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7381 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP
7382 ] = const_cast<std::remove_cv_t<T>&>(val);
7383
7384 return ::boost::pfr::detail::make_tuple_of_references(
7385 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7386 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7387 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7388 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7389 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7390 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7391 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7392 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7393 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7394 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7395 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7396 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7397 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7398 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7399 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7400 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7401 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7402 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7403 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7404 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7405 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7406 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7407 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7408 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7409 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7410 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7411 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7412 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7413 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7414 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7415 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7416 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7417 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7418 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7419 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7420 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7421 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7422 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7423 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7424 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7425 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7426 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7427 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7428 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7429 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7430 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7431 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7432 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7433 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7434 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7435 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7436 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7437 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7438 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7439 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7440 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7441 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7442 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7443 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7444 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP)
7445 );
7446 }
7447
7448 template <class T>
7449 constexpr auto tie_as_tuple(T& val, size_t_<180>) noexcept {
7450 auto& [
7451 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7452 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7453 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7454 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ
7455 ] = const_cast<std::remove_cv_t<T>&>(val);
7456
7457 return ::boost::pfr::detail::make_tuple_of_references(
7458 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7459 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7460 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7461 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7462 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7463 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7464 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7465 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7466 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7467 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7468 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7469 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7470 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7471 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7472 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7473 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7474 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7475 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7476 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7477 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7478 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7479 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7480 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7481 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7482 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7483 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7484 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7485 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7486 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7487 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7488 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7489 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7490 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7491 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7492 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7493 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7494 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7495 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7496 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7497 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7498 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7499 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7500 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7501 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7502 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7503 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7504 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7505 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7506 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7507 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7508 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7509 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7510 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7511 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7512 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7513 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7514 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7515 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7516 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7517 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ)
7518 );
7519 }
7520
7521 template <class T>
7522 constexpr auto tie_as_tuple(T& val, size_t_<181>) noexcept {
7523 auto& [
7524 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7525 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7526 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7527 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR
7528 ] = const_cast<std::remove_cv_t<T>&>(val);
7529
7530 return ::boost::pfr::detail::make_tuple_of_references(
7531 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7532 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7533 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7534 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7535 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7536 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7537 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7538 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7539 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7540 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7541 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7542 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7543 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7544 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7545 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7546 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7547 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7548 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7549 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7550 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7551 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7552 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7553 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7554 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7555 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7556 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7557 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7558 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7559 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7560 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7561 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7562 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7563 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7564 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7565 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7566 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7567 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7568 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7569 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7570 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7571 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7572 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7573 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7574 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7575 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7576 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7577 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7578 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7579 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7580 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7581 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7582 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7583 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7584 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7585 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7586 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7587 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7588 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7589 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7590 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7591 detail::workaround_cast<T, decltype(cR)>(cR)
7592 );
7593 }
7594
7595 template <class T>
7596 constexpr auto tie_as_tuple(T& val, size_t_<182>) noexcept {
7597 auto& [
7598 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7599 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7600 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7601 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS
7602 ] = const_cast<std::remove_cv_t<T>&>(val);
7603
7604 return ::boost::pfr::detail::make_tuple_of_references(
7605 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7606 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7607 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7608 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7609 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7610 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7611 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7612 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7613 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7614 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7615 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7616 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7617 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7618 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7619 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7620 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7621 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7622 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7623 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7624 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7625 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7626 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7627 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7628 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7629 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7630 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7631 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7632 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7633 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7634 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7635 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7636 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7637 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7638 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7639 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7640 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7641 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7642 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7643 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7644 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7645 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7646 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7647 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7648 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7649 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7650 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7651 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7652 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7653 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7654 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7655 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7656 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7657 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7658 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7659 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7660 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7661 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7662 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7663 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7664 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7665 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS)
7666 );
7667 }
7668
7669 template <class T>
7670 constexpr auto tie_as_tuple(T& val, size_t_<183>) noexcept {
7671 auto& [
7672 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7673 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7674 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7675 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU
7676 ] = const_cast<std::remove_cv_t<T>&>(val);
7677
7678 return ::boost::pfr::detail::make_tuple_of_references(
7679 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7680 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7681 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7682 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7683 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7684 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7685 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7686 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7687 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7688 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7689 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7690 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7691 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7692 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7693 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7694 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7695 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7696 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7697 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7698 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7699 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7700 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7701 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7702 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7703 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7704 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7705 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7706 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7707 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7708 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7709 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7710 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7711 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7712 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7713 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7714 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7715 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7716 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7717 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7718 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7719 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7720 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7721 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7722 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7723 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7724 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7725 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7726 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7727 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7728 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7729 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7730 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7731 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7732 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7733 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7734 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7735 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7736 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7737 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7738 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7739 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU)
7740 );
7741 }
7742
7743 template <class T>
7744 constexpr auto tie_as_tuple(T& val, size_t_<184>) noexcept {
7745 auto& [
7746 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7747 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7748 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7749 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV
7750 ] = const_cast<std::remove_cv_t<T>&>(val);
7751
7752 return ::boost::pfr::detail::make_tuple_of_references(
7753 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7754 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7755 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7756 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7757 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7758 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7759 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7760 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7761 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7762 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7763 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7764 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7765 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7766 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7767 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7768 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7769 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7770 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7771 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7772 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7773 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7774 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7775 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7776 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7777 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7778 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7779 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7780 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7781 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7782 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7783 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7784 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7785 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7786 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7787 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7788 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7789 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7790 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7791 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7792 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7793 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7794 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7795 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7796 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7797 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7798 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7799 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7800 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7801 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7802 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7803 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7804 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7805 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7806 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7807 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7808 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7809 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7810 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7811 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7812 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7813 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
7814 detail::workaround_cast<T, decltype(cV)>(cV)
7815 );
7816 }
7817
7818 template <class T>
7819 constexpr auto tie_as_tuple(T& val, size_t_<185>) noexcept {
7820 auto& [
7821 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7822 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7823 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7824 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW
7825 ] = const_cast<std::remove_cv_t<T>&>(val);
7826
7827 return ::boost::pfr::detail::make_tuple_of_references(
7828 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7829 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7830 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7831 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7832 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7833 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7834 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7835 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7836 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7837 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7838 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7839 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7840 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7841 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7842 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7843 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7844 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7845 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7846 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7847 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7848 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7849 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7850 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7851 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7852 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7853 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7854 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7855 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7856 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7857 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7858 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7859 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7860 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7861 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7862 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7863 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7864 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7865 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7866 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7867 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7868 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7869 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7870 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7871 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7872 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7873 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7874 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7875 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7876 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7877 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7878 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7879 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7880 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7881 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7882 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7883 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7884 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7885 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7886 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7887 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7888 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
7889 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW)
7890 );
7891 }
7892
7893 template <class T>
7894 constexpr auto tie_as_tuple(T& val, size_t_<186>) noexcept {
7895 auto& [
7896 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7897 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7898 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7899 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX
7900 ] = const_cast<std::remove_cv_t<T>&>(val);
7901
7902 return ::boost::pfr::detail::make_tuple_of_references(
7903 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7904 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7905 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7906 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7907 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7908 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7909 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7910 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7911 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7912 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7913 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7914 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7915 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7916 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7917 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7918 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7919 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7920 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7921 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7922 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7923 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7924 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
7925 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
7926 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
7927 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
7928 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
7929 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
7930 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
7931 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
7932 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
7933 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
7934 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
7935 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
7936 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
7937 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
7938 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
7939 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
7940 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
7941 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
7942 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
7943 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
7944 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
7945 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
7946 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
7947 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
7948 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
7949 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
7950 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
7951 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
7952 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
7953 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
7954 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
7955 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
7956 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
7957 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
7958 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
7959 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
7960 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
7961 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
7962 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
7963 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
7964 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX)
7965 );
7966 }
7967
7968 template <class T>
7969 constexpr auto tie_as_tuple(T& val, size_t_<187>) noexcept {
7970 auto& [
7971 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
7972 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
7973 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
7974 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY
7975 ] = const_cast<std::remove_cv_t<T>&>(val);
7976
7977 return ::boost::pfr::detail::make_tuple_of_references(
7978 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
7979 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
7980 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
7981 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
7982 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
7983 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
7984 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
7985 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
7986 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
7987 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
7988 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
7989 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
7990 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
7991 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
7992 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
7993 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
7994 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
7995 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
7996 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
7997 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
7998 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
7999 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8000 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8001 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8002 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8003 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8004 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8005 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8006 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8007 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8008 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8009 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8010 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8011 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8012 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8013 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8014 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8015 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8016 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8017 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8018 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8019 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8020 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8021 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8022 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8023 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8024 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8025 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8026 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8027 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8028 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8029 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8030 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8031 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8032 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8033 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8034 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8035 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8036 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8037 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8038 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8039 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8040 detail::workaround_cast<T, decltype(cY)>(cY)
8041 );
8042 }
8043
8044 template <class T>
8045 constexpr auto tie_as_tuple(T& val, size_t_<188>) noexcept {
8046 auto& [
8047 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8048 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8049 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8050 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ
8051 ] = const_cast<std::remove_cv_t<T>&>(val);
8052
8053 return ::boost::pfr::detail::make_tuple_of_references(
8054 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8055 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8056 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8057 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8058 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8059 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8060 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8061 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8062 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8063 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8064 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8065 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8066 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8067 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8068 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8069 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8070 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8071 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8072 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8073 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8074 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8075 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8076 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8077 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8078 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8079 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8080 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8081 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8082 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8083 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8084 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8085 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8086 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8087 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8088 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8089 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8090 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8091 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8092 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8093 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8094 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8095 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8096 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8097 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8098 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8099 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8100 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8101 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8102 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8103 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8104 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8105 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8106 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8107 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8108 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8109 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8110 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8111 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8112 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8113 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8114 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8115 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8116 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ)
8117 );
8118 }
8119
8120 template <class T>
8121 constexpr auto tie_as_tuple(T& val, size_t_<189>) noexcept {
8122 auto& [
8123 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8124 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8125 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8126 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8127 da
8128 ] = const_cast<std::remove_cv_t<T>&>(val);
8129
8130 return ::boost::pfr::detail::make_tuple_of_references(
8131 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8132 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8133 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8134 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8135 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8136 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8137 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8138 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8139 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8140 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8141 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8142 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8143 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8144 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8145 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8146 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8147 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8148 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8149 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8150 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8151 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8152 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8153 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8154 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8155 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8156 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8157 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8158 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8159 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8160 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8161 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8162 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8163 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8164 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8165 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8166 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8167 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8168 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8169 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8170 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8171 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8172 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8173 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8174 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8175 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8176 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8177 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8178 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8179 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8180 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8181 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8182 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8183 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8184 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8185 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8186 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8187 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8188 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8189 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8190 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8191 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8192 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8193 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da)
8194 );
8195 }
8196
8197 template <class T>
8198 constexpr auto tie_as_tuple(T& val, size_t_<190>) noexcept {
8199 auto& [
8200 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8201 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8202 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8203 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8204 da,db
8205 ] = const_cast<std::remove_cv_t<T>&>(val);
8206
8207 return ::boost::pfr::detail::make_tuple_of_references(
8208 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8209 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8210 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8211 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8212 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8213 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8214 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8215 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8216 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8217 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8218 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8219 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8220 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8221 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8222 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8223 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8224 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8225 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8226 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8227 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8228 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8229 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8230 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8231 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8232 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8233 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8234 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8235 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8236 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8237 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8238 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8239 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8240 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8241 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8242 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8243 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8244 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8245 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8246 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8247 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8248 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8249 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8250 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8251 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8252 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8253 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8254 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8255 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8256 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8257 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8258 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8259 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8260 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8261 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8262 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8263 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8264 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8265 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8266 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8267 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8268 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8269 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8270 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8271 detail::workaround_cast<T, decltype(db)>(db)
8272 );
8273 }
8274
8275 template <class T>
8276 constexpr auto tie_as_tuple(T& val, size_t_<191>) noexcept {
8277 auto& [
8278 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8279 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8280 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8281 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8282 da,db,dc
8283 ] = const_cast<std::remove_cv_t<T>&>(val);
8284
8285 return ::boost::pfr::detail::make_tuple_of_references(
8286 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8287 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8288 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8289 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8290 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8291 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8292 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8293 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8294 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8295 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8296 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8297 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8298 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8299 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8300 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8301 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8302 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8303 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8304 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8305 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8306 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8307 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8308 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8309 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8310 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8311 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8312 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8313 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8314 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8315 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8316 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8317 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8318 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8319 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8320 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8321 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8322 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8323 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8324 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8325 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8326 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8327 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8328 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8329 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8330 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8331 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8332 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8333 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8334 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8335 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8336 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8337 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8338 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8339 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8340 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8341 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8342 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8343 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8344 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8345 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8346 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8347 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8348 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8349 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc)
8350 );
8351 }
8352
8353 template <class T>
8354 constexpr auto tie_as_tuple(T& val, size_t_<192>) noexcept {
8355 auto& [
8356 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8357 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8358 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8359 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8360 da,db,dc,dd
8361 ] = const_cast<std::remove_cv_t<T>&>(val);
8362
8363 return ::boost::pfr::detail::make_tuple_of_references(
8364 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8365 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8366 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8367 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8368 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8369 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8370 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8371 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8372 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8373 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8374 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8375 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8376 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8377 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8378 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8379 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8380 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8381 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8382 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8383 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8384 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8385 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8386 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8387 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8388 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8389 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8390 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8391 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8392 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8393 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8394 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8395 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8396 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8397 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8398 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8399 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8400 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8401 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8402 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8403 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8404 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8405 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8406 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8407 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8408 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8409 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8410 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8411 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8412 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8413 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8414 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8415 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8416 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8417 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8418 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8419 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8420 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8421 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8422 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8423 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8424 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8425 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8426 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8427 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd)
8428 );
8429 }
8430
8431 template <class T>
8432 constexpr auto tie_as_tuple(T& val, size_t_<193>) noexcept {
8433 auto& [
8434 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8435 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8436 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8437 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8438 da,db,dc,dd,de
8439 ] = const_cast<std::remove_cv_t<T>&>(val);
8440
8441 return ::boost::pfr::detail::make_tuple_of_references(
8442 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8443 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8444 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8445 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8446 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8447 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8448 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8449 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8450 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8451 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8452 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8453 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8454 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8455 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8456 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8457 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8458 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8459 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8460 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8461 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8462 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8463 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8464 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8465 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8466 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8467 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8468 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8469 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8470 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8471 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8472 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8473 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8474 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8475 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8476 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8477 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8478 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8479 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8480 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8481 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8482 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8483 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8484 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8485 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8486 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8487 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8488 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8489 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8490 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8491 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8492 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8493 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8494 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8495 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8496 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8497 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8498 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8499 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8500 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8501 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8502 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8503 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8504 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8505 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8506 detail::workaround_cast<T, decltype(de)>(de)
8507 );
8508 }
8509
8510 template <class T>
8511 constexpr auto tie_as_tuple(T& val, size_t_<194>) noexcept {
8512 auto& [
8513 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8514 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8515 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8516 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8517 da,db,dc,dd,de,df
8518 ] = const_cast<std::remove_cv_t<T>&>(val);
8519
8520 return ::boost::pfr::detail::make_tuple_of_references(
8521 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8522 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8523 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8524 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8525 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8526 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8527 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8528 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8529 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8530 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8531 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8532 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8533 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8534 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8535 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8536 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8537 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8538 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8539 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8540 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8541 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8542 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8543 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8544 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8545 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8546 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8547 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8548 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8549 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8550 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8551 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8552 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8553 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8554 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8555 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8556 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8557 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8558 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8559 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8560 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8561 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8562 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8563 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8564 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8565 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8566 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8567 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8568 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8569 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8570 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8571 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8572 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8573 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8574 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8575 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8576 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8577 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8578 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8579 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8580 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8581 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8582 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8583 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8584 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8585 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df)
8586 );
8587 }
8588
8589 template <class T>
8590 constexpr auto tie_as_tuple(T& val, size_t_<195>) noexcept {
8591 auto& [
8592 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8593 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8594 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8595 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8596 da,db,dc,dd,de,df,dg
8597 ] = const_cast<std::remove_cv_t<T>&>(val);
8598
8599 return ::boost::pfr::detail::make_tuple_of_references(
8600 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8601 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8602 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8603 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8604 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8605 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8606 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8607 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8608 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8609 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8610 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8611 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8612 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8613 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8614 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8615 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8616 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8617 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8618 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8619 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8620 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8621 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8622 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8623 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8624 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8625 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8626 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8627 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8628 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8629 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8630 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8631 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8632 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8633 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8634 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8635 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8636 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8637 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8638 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8639 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8640 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8641 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8642 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8643 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8644 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8645 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8646 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8647 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8648 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8649 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8650 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8651 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8652 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8653 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8654 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8655 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8656 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8657 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8658 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8659 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8660 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8661 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8662 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8663 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8664 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg)
8665 );
8666 }
8667
8668 template <class T>
8669 constexpr auto tie_as_tuple(T& val, size_t_<196>) noexcept {
8670 auto& [
8671 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8672 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8673 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8674 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8675 da,db,dc,dd,de,df,dg,dh
8676 ] = const_cast<std::remove_cv_t<T>&>(val);
8677
8678 return ::boost::pfr::detail::make_tuple_of_references(
8679 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8680 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8681 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8682 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8683 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8684 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8685 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8686 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8687 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8688 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8689 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8690 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8691 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8692 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8693 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8694 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8695 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8696 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8697 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8698 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8699 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8700 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8701 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8702 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8703 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8704 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8705 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8706 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8707 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8708 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8709 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8710 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8711 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8712 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8713 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8714 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8715 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8716 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8717 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8718 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8719 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8720 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8721 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8722 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8723 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8724 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8725 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8726 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8727 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8728 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8729 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8730 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8731 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8732 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8733 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8734 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8735 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8736 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8737 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8738 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8739 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8740 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8741 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8742 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8743 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg),
8744 detail::workaround_cast<T, decltype(dh)>(dh)
8745 );
8746 }
8747
8748 template <class T>
8749 constexpr auto tie_as_tuple(T& val, size_t_<197>) noexcept {
8750 auto& [
8751 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8752 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8753 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8754 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8755 da,db,dc,dd,de,df,dg,dh,dj
8756 ] = const_cast<std::remove_cv_t<T>&>(val);
8757
8758 return ::boost::pfr::detail::make_tuple_of_references(
8759 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8760 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8761 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8762 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8763 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8764 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8765 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8766 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8767 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8768 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8769 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8770 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8771 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8772 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8773 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8774 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8775 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8776 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8777 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8778 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8779 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8780 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8781 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8782 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8783 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8784 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8785 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8786 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8787 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8788 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8789 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8790 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8791 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8792 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8793 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8794 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8795 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8796 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8797 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8798 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8799 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8800 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8801 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8802 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8803 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8804 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8805 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8806 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8807 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8808 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8809 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8810 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8811 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8812 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8813 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8814 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8815 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8816 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8817 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8818 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8819 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8820 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8821 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8822 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8823 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg),
8824 detail::workaround_cast<T, decltype(dh)>(dh),detail::workaround_cast<T, decltype(dj)>(dj)
8825 );
8826 }
8827
8828 template <class T>
8829 constexpr auto tie_as_tuple(T& val, size_t_<198>) noexcept {
8830 auto& [
8831 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8832 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8833 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8834 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8835 da,db,dc,dd,de,df,dg,dh,dj,dk
8836 ] = const_cast<std::remove_cv_t<T>&>(val);
8837
8838 return ::boost::pfr::detail::make_tuple_of_references(
8839 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8840 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8841 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8842 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8843 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8844 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8845 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8846 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8847 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8848 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8849 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8850 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8851 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8852 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8853 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8854 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8855 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8856 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8857 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8858 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8859 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8860 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8861 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8862 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8863 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8864 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8865 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8866 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8867 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8868 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8869 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8870 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8871 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8872 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8873 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8874 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8875 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8876 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8877 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8878 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8879 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8880 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8881 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8882 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8883 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8884 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8885 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8886 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8887 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8888 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8889 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8890 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8891 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8892 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8893 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8894 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8895 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8896 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8897 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8898 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8899 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8900 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8901 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8902 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8903 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg),
8904 detail::workaround_cast<T, decltype(dh)>(dh),detail::workaround_cast<T, decltype(dj)>(dj),detail::workaround_cast<T, decltype(dk)>(dk)
8905 );
8906 }
8907
8908 template <class T>
8909 constexpr auto tie_as_tuple(T& val, size_t_<199>) noexcept {
8910 auto& [
8911 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8912 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8913 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8914 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8915 da,db,dc,dd,de,df,dg,dh,dj,dk,dl
8916 ] = const_cast<std::remove_cv_t<T>&>(val);
8917
8918 return ::boost::pfr::detail::make_tuple_of_references(
8919 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
8920 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
8921 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
8922 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
8923 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
8924 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
8925 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
8926 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
8927 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
8928 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
8929 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
8930 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
8931 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
8932 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
8933 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
8934 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
8935 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
8936 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
8937 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
8938 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
8939 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
8940 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
8941 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
8942 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
8943 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
8944 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
8945 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
8946 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
8947 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
8948 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
8949 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
8950 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
8951 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
8952 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
8953 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
8954 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
8955 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
8956 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
8957 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
8958 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
8959 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
8960 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
8961 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
8962 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
8963 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
8964 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
8965 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
8966 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
8967 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
8968 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
8969 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
8970 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
8971 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
8972 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
8973 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
8974 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
8975 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
8976 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
8977 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
8978 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
8979 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
8980 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
8981 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
8982 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
8983 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg),
8984 detail::workaround_cast<T, decltype(dh)>(dh),detail::workaround_cast<T, decltype(dj)>(dj),detail::workaround_cast<T, decltype(dk)>(dk),
8985 detail::workaround_cast<T, decltype(dl)>(dl)
8986 );
8987 }
8988
8989 template <class T>
8990 constexpr auto tie_as_tuple(T& val, size_t_<200>) noexcept {
8991 auto& [
8992 a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,U,V,W,X,Y,Z,
8993 aa,ab,ac,ad,ae,af,ag,ah,aj,ak,al,am,an,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aJ,aK,aL,aM,aN,aP,aQ,aR,aS,aU,aV,aW,aX,aY,aZ,
8994 ba,bb,bc,bd,be,bf,bg,bh,bj,bk,bl,bm,bn,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC,bD,bE,bF,bG,bH,bJ,bK,bL,bM,bN,bP,bQ,bR,bS,bU,bV,bW,bX,bY,bZ,
8995 ca,cb,cc,cd,ce,cf,cg,ch,cj,ck,cl,cm,cn,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,cA,cB,cC,cD,cE,cF,cG,cH,cJ,cK,cL,cM,cN,cP,cQ,cR,cS,cU,cV,cW,cX,cY,cZ,
8996 da,db,dc,dd,de,df,dg,dh,dj,dk,dl,dm
8997 ] = const_cast<std::remove_cv_t<T>&>(val);
8998
8999 return ::boost::pfr::detail::make_tuple_of_references(
9000 detail::workaround_cast<T, decltype(a)>(a),detail::workaround_cast<T, decltype(b)>(b),detail::workaround_cast<T, decltype(c)>(c),
9001 detail::workaround_cast<T, decltype(d)>(d),detail::workaround_cast<T, decltype(e)>(e),detail::workaround_cast<T, decltype(f)>(f),
9002 detail::workaround_cast<T, decltype(g)>(g),detail::workaround_cast<T, decltype(h)>(h),detail::workaround_cast<T, decltype(j)>(j),
9003 detail::workaround_cast<T, decltype(k)>(k),detail::workaround_cast<T, decltype(l)>(l),detail::workaround_cast<T, decltype(m)>(m),
9004 detail::workaround_cast<T, decltype(n)>(n),detail::workaround_cast<T, decltype(p)>(p),detail::workaround_cast<T, decltype(q)>(q),
9005 detail::workaround_cast<T, decltype(r)>(r),detail::workaround_cast<T, decltype(s)>(s),detail::workaround_cast<T, decltype(t)>(t),
9006 detail::workaround_cast<T, decltype(u)>(u),detail::workaround_cast<T, decltype(v)>(v),detail::workaround_cast<T, decltype(w)>(w),
9007 detail::workaround_cast<T, decltype(x)>(x),detail::workaround_cast<T, decltype(y)>(y),detail::workaround_cast<T, decltype(z)>(z),
9008 detail::workaround_cast<T, decltype(A)>(A),detail::workaround_cast<T, decltype(B)>(B),detail::workaround_cast<T, decltype(C)>(C),
9009 detail::workaround_cast<T, decltype(D)>(D),detail::workaround_cast<T, decltype(E)>(E),detail::workaround_cast<T, decltype(F)>(F),
9010 detail::workaround_cast<T, decltype(G)>(G),detail::workaround_cast<T, decltype(H)>(H),detail::workaround_cast<T, decltype(J)>(J),
9011 detail::workaround_cast<T, decltype(K)>(K),detail::workaround_cast<T, decltype(L)>(L),detail::workaround_cast<T, decltype(M)>(M),
9012 detail::workaround_cast<T, decltype(N)>(N),detail::workaround_cast<T, decltype(P)>(P),detail::workaround_cast<T, decltype(Q)>(Q),
9013 detail::workaround_cast<T, decltype(R)>(R),detail::workaround_cast<T, decltype(S)>(S),detail::workaround_cast<T, decltype(U)>(U),
9014 detail::workaround_cast<T, decltype(V)>(V),detail::workaround_cast<T, decltype(W)>(W),detail::workaround_cast<T, decltype(X)>(X),
9015 detail::workaround_cast<T, decltype(Y)>(Y),detail::workaround_cast<T, decltype(Z)>(Z),detail::workaround_cast<T, decltype(aa)>(aa),
9016 detail::workaround_cast<T, decltype(ab)>(ab),detail::workaround_cast<T, decltype(ac)>(ac),detail::workaround_cast<T, decltype(ad)>(ad),
9017 detail::workaround_cast<T, decltype(ae)>(ae),detail::workaround_cast<T, decltype(af)>(af),detail::workaround_cast<T, decltype(ag)>(ag),
9018 detail::workaround_cast<T, decltype(ah)>(ah),detail::workaround_cast<T, decltype(aj)>(aj),detail::workaround_cast<T, decltype(ak)>(ak),
9019 detail::workaround_cast<T, decltype(al)>(al),detail::workaround_cast<T, decltype(am)>(am),detail::workaround_cast<T, decltype(an)>(an),
9020 detail::workaround_cast<T, decltype(ap)>(ap),detail::workaround_cast<T, decltype(aq)>(aq),detail::workaround_cast<T, decltype(ar)>(ar),
9021 detail::workaround_cast<T, decltype(as)>(as),detail::workaround_cast<T, decltype(at)>(at),detail::workaround_cast<T, decltype(au)>(au),
9022 detail::workaround_cast<T, decltype(av)>(av),detail::workaround_cast<T, decltype(aw)>(aw),detail::workaround_cast<T, decltype(ax)>(ax),
9023 detail::workaround_cast<T, decltype(ay)>(ay),detail::workaround_cast<T, decltype(az)>(az),detail::workaround_cast<T, decltype(aA)>(aA),
9024 detail::workaround_cast<T, decltype(aB)>(aB),detail::workaround_cast<T, decltype(aC)>(aC),detail::workaround_cast<T, decltype(aD)>(aD),
9025 detail::workaround_cast<T, decltype(aE)>(aE),detail::workaround_cast<T, decltype(aF)>(aF),detail::workaround_cast<T, decltype(aG)>(aG),
9026 detail::workaround_cast<T, decltype(aH)>(aH),detail::workaround_cast<T, decltype(aJ)>(aJ),detail::workaround_cast<T, decltype(aK)>(aK),
9027 detail::workaround_cast<T, decltype(aL)>(aL),detail::workaround_cast<T, decltype(aM)>(aM),detail::workaround_cast<T, decltype(aN)>(aN),
9028 detail::workaround_cast<T, decltype(aP)>(aP),detail::workaround_cast<T, decltype(aQ)>(aQ),detail::workaround_cast<T, decltype(aR)>(aR),
9029 detail::workaround_cast<T, decltype(aS)>(aS),detail::workaround_cast<T, decltype(aU)>(aU),detail::workaround_cast<T, decltype(aV)>(aV),
9030 detail::workaround_cast<T, decltype(aW)>(aW),detail::workaround_cast<T, decltype(aX)>(aX),detail::workaround_cast<T, decltype(aY)>(aY),
9031 detail::workaround_cast<T, decltype(aZ)>(aZ),detail::workaround_cast<T, decltype(ba)>(ba),detail::workaround_cast<T, decltype(bb)>(bb),
9032 detail::workaround_cast<T, decltype(bc)>(bc),detail::workaround_cast<T, decltype(bd)>(bd),detail::workaround_cast<T, decltype(be)>(be),
9033 detail::workaround_cast<T, decltype(bf)>(bf),detail::workaround_cast<T, decltype(bg)>(bg),detail::workaround_cast<T, decltype(bh)>(bh),
9034 detail::workaround_cast<T, decltype(bj)>(bj),detail::workaround_cast<T, decltype(bk)>(bk),detail::workaround_cast<T, decltype(bl)>(bl),
9035 detail::workaround_cast<T, decltype(bm)>(bm),detail::workaround_cast<T, decltype(bn)>(bn),detail::workaround_cast<T, decltype(bp)>(bp),
9036 detail::workaround_cast<T, decltype(bq)>(bq),detail::workaround_cast<T, decltype(br)>(br),detail::workaround_cast<T, decltype(bs)>(bs),
9037 detail::workaround_cast<T, decltype(bt)>(bt),detail::workaround_cast<T, decltype(bu)>(bu),detail::workaround_cast<T, decltype(bv)>(bv),
9038 detail::workaround_cast<T, decltype(bw)>(bw),detail::workaround_cast<T, decltype(bx)>(bx),detail::workaround_cast<T, decltype(by)>(by),
9039 detail::workaround_cast<T, decltype(bz)>(bz),detail::workaround_cast<T, decltype(bA)>(bA),detail::workaround_cast<T, decltype(bB)>(bB),
9040 detail::workaround_cast<T, decltype(bC)>(bC),detail::workaround_cast<T, decltype(bD)>(bD),detail::workaround_cast<T, decltype(bE)>(bE),
9041 detail::workaround_cast<T, decltype(bF)>(bF),detail::workaround_cast<T, decltype(bG)>(bG),detail::workaround_cast<T, decltype(bH)>(bH),
9042 detail::workaround_cast<T, decltype(bJ)>(bJ),detail::workaround_cast<T, decltype(bK)>(bK),detail::workaround_cast<T, decltype(bL)>(bL),
9043 detail::workaround_cast<T, decltype(bM)>(bM),detail::workaround_cast<T, decltype(bN)>(bN),detail::workaround_cast<T, decltype(bP)>(bP),
9044 detail::workaround_cast<T, decltype(bQ)>(bQ),detail::workaround_cast<T, decltype(bR)>(bR),detail::workaround_cast<T, decltype(bS)>(bS),
9045 detail::workaround_cast<T, decltype(bU)>(bU),detail::workaround_cast<T, decltype(bV)>(bV),detail::workaround_cast<T, decltype(bW)>(bW),
9046 detail::workaround_cast<T, decltype(bX)>(bX),detail::workaround_cast<T, decltype(bY)>(bY),detail::workaround_cast<T, decltype(bZ)>(bZ),
9047 detail::workaround_cast<T, decltype(ca)>(ca),detail::workaround_cast<T, decltype(cb)>(cb),detail::workaround_cast<T, decltype(cc)>(cc),
9048 detail::workaround_cast<T, decltype(cd)>(cd),detail::workaround_cast<T, decltype(ce)>(ce),detail::workaround_cast<T, decltype(cf)>(cf),
9049 detail::workaround_cast<T, decltype(cg)>(cg),detail::workaround_cast<T, decltype(ch)>(ch),detail::workaround_cast<T, decltype(cj)>(cj),
9050 detail::workaround_cast<T, decltype(ck)>(ck),detail::workaround_cast<T, decltype(cl)>(cl),detail::workaround_cast<T, decltype(cm)>(cm),
9051 detail::workaround_cast<T, decltype(cn)>(cn),detail::workaround_cast<T, decltype(cp)>(cp),detail::workaround_cast<T, decltype(cq)>(cq),
9052 detail::workaround_cast<T, decltype(cr)>(cr),detail::workaround_cast<T, decltype(cs)>(cs),detail::workaround_cast<T, decltype(ct)>(ct),
9053 detail::workaround_cast<T, decltype(cu)>(cu),detail::workaround_cast<T, decltype(cv)>(cv),detail::workaround_cast<T, decltype(cw)>(cw),
9054 detail::workaround_cast<T, decltype(cx)>(cx),detail::workaround_cast<T, decltype(cy)>(cy),detail::workaround_cast<T, decltype(cz)>(cz),
9055 detail::workaround_cast<T, decltype(cA)>(cA),detail::workaround_cast<T, decltype(cB)>(cB),detail::workaround_cast<T, decltype(cC)>(cC),
9056 detail::workaround_cast<T, decltype(cD)>(cD),detail::workaround_cast<T, decltype(cE)>(cE),detail::workaround_cast<T, decltype(cF)>(cF),
9057 detail::workaround_cast<T, decltype(cG)>(cG),detail::workaround_cast<T, decltype(cH)>(cH),detail::workaround_cast<T, decltype(cJ)>(cJ),
9058 detail::workaround_cast<T, decltype(cK)>(cK),detail::workaround_cast<T, decltype(cL)>(cL),detail::workaround_cast<T, decltype(cM)>(cM),
9059 detail::workaround_cast<T, decltype(cN)>(cN),detail::workaround_cast<T, decltype(cP)>(cP),detail::workaround_cast<T, decltype(cQ)>(cQ),
9060 detail::workaround_cast<T, decltype(cR)>(cR),detail::workaround_cast<T, decltype(cS)>(cS),detail::workaround_cast<T, decltype(cU)>(cU),
9061 detail::workaround_cast<T, decltype(cV)>(cV),detail::workaround_cast<T, decltype(cW)>(cW),detail::workaround_cast<T, decltype(cX)>(cX),
9062 detail::workaround_cast<T, decltype(cY)>(cY),detail::workaround_cast<T, decltype(cZ)>(cZ),detail::workaround_cast<T, decltype(da)>(da),
9063 detail::workaround_cast<T, decltype(db)>(db),detail::workaround_cast<T, decltype(dc)>(dc),detail::workaround_cast<T, decltype(dd)>(dd),
9064 detail::workaround_cast<T, decltype(de)>(de),detail::workaround_cast<T, decltype(df)>(df),detail::workaround_cast<T, decltype(dg)>(dg),
9065 detail::workaround_cast<T, decltype(dh)>(dh),detail::workaround_cast<T, decltype(dj)>(dj),detail::workaround_cast<T, decltype(dk)>(dk),
9066 detail::workaround_cast<T, decltype(dl)>(dl),detail::workaround_cast<T, decltype(dm)>(dm)
9067 );
9068 }
9069
9070
9071 template <class T, std::size_t I>
9072 constexpr void tie_as_tuple(T& , size_t_<I>) noexcept {
9073 static_assert(sizeof(T) && false,
9074 "====================> Boost.PFR: Too many fields in a structure T. Regenerate include/boost/pfr/detail/core17_generated.hpp file for appropriate count of fields. For example: `python ./misc/generate_cpp17.py 300 > include/boost/pfr/detail/core17_generated.hpp`");
9075 }
9076
9077 }}}
9078
9079 #endif
9080