From b79902cd36b2c5b54bbf0f07078fc528754977b2 Mon Sep 17 00:00:00 2001 From: hachem Date: Sat, 19 Sep 2026 14:38:55 +0200 Subject: feat: variables and shi --- examples/xs.sfinae | 54 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) (limited to 'examples/xs.sfinae') diff --git a/examples/xs.sfinae b/examples/xs.sfinae index 7cb7dd9..e140252 100644 --- a/examples/xs.sfinae +++ b/examples/xs.sfinae @@ -1,34 +1,36 @@ -::emit< - ::decltype( - ::extent< - ::array< +::declare< + ::name<'x', 's'>, + ::conditional_t< + ::true_type::value, + ::decltype( + ::extent< ::array< - ::remove_cv_t< - ::int32_t + ::array< + ::remove_cv_t< + ::int32_t + >, + ::integral_constant< + ::size_t, + ::tuple_size< + ::array< + ::byte, + ::difference<'Z', 'F'> + > + >::value + >::value >, ::integral_constant< ::size_t, - ::tuple_size< - ::array< - ::byte, - ::difference<'Z', 'F'> - > - >::value + ::difference<'Z', 'F'> >::value - >, - ::integral_constant< - ::size_t, - ::difference<'Z', 'F'> - >::value - > - >::value - ) + > + >::value + ), + ::void + > >::commit; +::emit<::decltype(::value_of<::name<'x', 's'>>)>::commit; + // an array type says its extent, a bare type says its name -::emit< - ::array< - ::byte, - ::difference<'Z', 'F'> - > ->::commit; +::emit<::array<::byte, ::value_of<::name<'x', 's'>>>>::commit; -- cgit v1.3