5 .Nm free_printf_comp , new_printf_comp
6 .Nd extensible printf compilation
10 .Fn free_printf_comp "printf_comp_t pc"
12 .Fn new_printf_comp "printf_domain_t restrict domain" "locale_t restrict loc" "const char * restrict fmt"
14 To ameliorate some of the slowness caused by the extra overhead in
15 extensible printf (see
17 a compile/execute mechanism has been created.
20 function compiles the given format string, along with a printf domain
22 .Xr xprintf_domain 3 )
23 and an extended locale
33 which means to use the current locale, either the per-thread locale if it
34 was set, or else the global locale.
37 structure records the domain and locale, care should be taken if either
42 structure is created, it can be passed to one of the extensible printf
43 execution variants, described in
45 along with the necessary arguments.
48 structure needs to be done only once, but it can be passed
49 to extensible printf execution variants any number of times.
53 structure is no longer needed, it should be passed to
55 to release internal memory.
59 function returns the new structure, or
61 on error (usually NULL domain or out of memory condition).
64 .Xr xprintf_domain 3 ,