From eaa205db54705622580b77aef57f6bdbd2fa5bf2 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 12 Apr 2024 00:16:18 +0200 Subject: Use the __mlib_uprop_attrs macro for attributes --- include/unicode/prop.h | 138 +++++++++++++++++++++++++------------------------ 1 file changed, 70 insertions(+), 68 deletions(-) (limited to 'include') diff --git a/include/unicode/prop.h b/include/unicode/prop.h index 9d1f815..ebbc817 100644 --- a/include/unicode/prop.h +++ b/include/unicode/prop.h @@ -143,78 +143,80 @@ enum uprop_nt { NT_NU, /* Numeric */ }; -[[__nodiscard__, __unsequenced__]] double uprop_get_nv(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_bpt uprop_get_bpt(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_dt uprop_get_dt(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_ea uprop_get_ea(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_gc uprop_get_gc(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_lb uprop_get_lb(rune); -[[__nodiscard__, __unsequenced__]] enum uprop_nt uprop_get_nt(rune); -[[__nodiscard__, __unsequenced__]] rune uprop_get_bpb(rune); -[[__nodiscard__, __unsequenced__]] rune uprop_get_slc(rune); -[[__nodiscard__, __unsequenced__]] rune uprop_get_stc(rune); -[[__nodiscard__, __unsequenced__]] rune uprop_get_suc(rune); -[[__nodiscard__, __unsequenced__]] struct u8view uprop_get_na1(rune); -[[__nodiscard__, __unsequenced__]] struct u8view uprop_get_na(rune); +#define __mlib_uprop_attrs __nodiscard__, __unsequenced__ + +[[__mlib_uprop_attrs]] double uprop_get_nv(rune); +[[__mlib_uprop_attrs]] enum uprop_bpt uprop_get_bpt(rune); +[[__mlib_uprop_attrs]] enum uprop_dt uprop_get_dt(rune); +[[__mlib_uprop_attrs]] enum uprop_ea uprop_get_ea(rune); +[[__mlib_uprop_attrs]] enum uprop_gc uprop_get_gc(rune); +[[__mlib_uprop_attrs]] enum uprop_lb uprop_get_lb(rune); +[[__mlib_uprop_attrs]] enum uprop_nt uprop_get_nt(rune); +[[__mlib_uprop_attrs]] rune uprop_get_bpb(rune); +[[__mlib_uprop_attrs]] rune uprop_get_slc(rune); +[[__mlib_uprop_attrs]] rune uprop_get_stc(rune); +[[__mlib_uprop_attrs]] rune uprop_get_suc(rune); +[[__mlib_uprop_attrs]] struct u8view uprop_get_na1(rune); +[[__mlib_uprop_attrs]] struct u8view uprop_get_na(rune); /* PROP PREDICATES START */ -[[__nodiscard__, __unsequenced__]] bool uprop_is_ahex(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_alpha(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_bidi_c(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_bidi_m(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cased(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ci(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwcf(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwcm(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwkcf(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwl(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwt(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_cwu(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_dash(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_dep(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_di(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_dia(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ebase(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ecomp(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_emod(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_emoji(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_epres(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ext(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_extpic(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_gr_base(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_gr_ext(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_hex(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_id_compat_math_continue(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_id_compat_math_start(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_idc(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ideo(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ids(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_idsb(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_incb(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_loe(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_lower(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_math(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_pat_syn(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_pat_ws(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_pcm(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_qmark(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_radical(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_sd(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_sterm(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_term(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_uideo(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_upper(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_vs(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_wspace(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_xidc(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_xids(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ahex(rune); +[[__mlib_uprop_attrs]] bool uprop_is_alpha(rune); +[[__mlib_uprop_attrs]] bool uprop_is_bidi_c(rune); +[[__mlib_uprop_attrs]] bool uprop_is_bidi_m(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cased(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ci(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwcf(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwcm(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwkcf(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwl(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwt(rune); +[[__mlib_uprop_attrs]] bool uprop_is_cwu(rune); +[[__mlib_uprop_attrs]] bool uprop_is_dash(rune); +[[__mlib_uprop_attrs]] bool uprop_is_dep(rune); +[[__mlib_uprop_attrs]] bool uprop_is_di(rune); +[[__mlib_uprop_attrs]] bool uprop_is_dia(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ebase(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ecomp(rune); +[[__mlib_uprop_attrs]] bool uprop_is_emod(rune); +[[__mlib_uprop_attrs]] bool uprop_is_emoji(rune); +[[__mlib_uprop_attrs]] bool uprop_is_epres(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ext(rune); +[[__mlib_uprop_attrs]] bool uprop_is_extpic(rune); +[[__mlib_uprop_attrs]] bool uprop_is_gr_base(rune); +[[__mlib_uprop_attrs]] bool uprop_is_gr_ext(rune); +[[__mlib_uprop_attrs]] bool uprop_is_hex(rune); +[[__mlib_uprop_attrs]] bool uprop_is_id_compat_math_continue(rune); +[[__mlib_uprop_attrs]] bool uprop_is_id_compat_math_start(rune); +[[__mlib_uprop_attrs]] bool uprop_is_idc(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ideo(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ids(rune); +[[__mlib_uprop_attrs]] bool uprop_is_idsb(rune); +[[__mlib_uprop_attrs]] bool uprop_is_incb(rune); +[[__mlib_uprop_attrs]] bool uprop_is_loe(rune); +[[__mlib_uprop_attrs]] bool uprop_is_lower(rune); +[[__mlib_uprop_attrs]] bool uprop_is_math(rune); +[[__mlib_uprop_attrs]] bool uprop_is_pat_syn(rune); +[[__mlib_uprop_attrs]] bool uprop_is_pat_ws(rune); +[[__mlib_uprop_attrs]] bool uprop_is_pcm(rune); +[[__mlib_uprop_attrs]] bool uprop_is_qmark(rune); +[[__mlib_uprop_attrs]] bool uprop_is_radical(rune); +[[__mlib_uprop_attrs]] bool uprop_is_sd(rune); +[[__mlib_uprop_attrs]] bool uprop_is_sterm(rune); +[[__mlib_uprop_attrs]] bool uprop_is_term(rune); +[[__mlib_uprop_attrs]] bool uprop_is_uideo(rune); +[[__mlib_uprop_attrs]] bool uprop_is_upper(rune); +[[__mlib_uprop_attrs]] bool uprop_is_vs(rune); +[[__mlib_uprop_attrs]] bool uprop_is_wspace(rune); +[[__mlib_uprop_attrs]] bool uprop_is_xidc(rune); +[[__mlib_uprop_attrs]] bool uprop_is_xids(rune); /* PROP PREDICATES END */ /* Manually implemented predicates */ -[[__nodiscard__, __unsequenced__]] bool uprop_is_idst(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_idsu(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_join_c(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_nchar(rune); -[[__nodiscard__, __unsequenced__]] bool uprop_is_ri(rune); +[[__mlib_uprop_attrs]] bool uprop_is_idst(rune); +[[__mlib_uprop_attrs]] bool uprop_is_idsu(rune); +[[__mlib_uprop_attrs]] bool uprop_is_join_c(rune); +[[__mlib_uprop_attrs]] bool uprop_is_nchar(rune); +[[__mlib_uprop_attrs]] bool uprop_is_ri(rune); #endif /* !MLIB_UNICODE_PROP_H */ -- cgit v1.2.3