hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-19 14:38:55 +0200
committerhachem <im@hachem.wtf>2026-09-19 14:38:55 +0200
commitb79902cd36b2c5b54bbf0f07078fc528754977b2 (patch)
tree0f3baa55b58831c46c7631619f76eef5cb371f71 /examples
parent7160bdb390ef1c9bdcfb0c075b33be39d62860f3 (diff)
feat: variables and shi
Diffstat (limited to 'examples')
-rw-r--r--examples/xs.sfinae54
1 files changed, 28 insertions, 26 deletions
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;