From a79c97e04562b171780a24cba2cb1a71acfa4bbb Mon Sep 17 00:00:00 2001 From: hachem Date: Sat, 19 Sep 2026 12:38:43 +0200 Subject: types: array, extent, tuple_size, integral_constant --- examples/xs.sfinae | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 examples/xs.sfinae (limited to 'examples/xs.sfinae') diff --git a/examples/xs.sfinae b/examples/xs.sfinae new file mode 100644 index 0000000..faae464 --- /dev/null +++ b/examples/xs.sfinae @@ -0,0 +1,36 @@ +// the original sin: how wide is int xs[20][20] + +::emit< + ::decltype( + ::extent< + ::array< + ::array< + ::remove_cv_t< + ::int32_t + >, + ::integral_constant< + ::size_t, + ::tuple_size< + ::array< + ::byte, + ::difference<'Z', 'F'> + > + >::value + >::value + >, + ::integral_constant< + ::size_t, + ::difference<'Z', 'F'> + >::value + > + >::value + ) +>::commit; + +// an array type says its extent, a bare type says its name +::emit< + ::array< + ::byte, + ::difference<'Z', 'F'> + > +>::commit; -- cgit v1.3