diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/xs.sfinae | 54 |
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; |
