17 In general, UCX strings are **not** necessarily zero-terminated. If a function guarantees to return zero-terminated |
17 In general, UCX strings are **not** necessarily zero-terminated. If a function guarantees to return zero-terminated |
18 string, it is explicitly mentioned in the documentation of the respective function. |
18 string, it is explicitly mentioned in the documentation of the respective function. |
19 As a rule of thumb, you _should not_ pass the strings of a UCX string structure to another API without explicitly |
19 As a rule of thumb, you _should not_ pass the strings of a UCX string structure to another API without explicitly |
20 ensuring that the string is zero-terminated. |
20 ensuring that the string is zero-terminated. |
21 |
21 |
22 ## Undocumented Symbols (TODO) |
22 ## Basics |
|
23 |
23 ### cx_mutstr |
24 ### cx_mutstr |
24 ### cx_mutstrn |
25 ### cx_mutstrn |
25 ### cx_str |
26 ### cx_str |
|
27 ### cx_strn |
|
28 ### cx_strcast |
|
29 ### cx_strfree |
|
30 ### cx_strfree_a |
|
31 ### cx_strdup |
|
32 ### cx_strdup_a |
|
33 ### cx_strlen |
|
34 ### cx_strtrim |
|
35 ### cx_strtrim_m |
|
36 ### cx_strlower |
|
37 ### cx_strupper |
|
38 |
|
39 ## Comparison |
|
40 |
|
41 ### cx_strcmp |
|
42 ### cx_strcmp_p |
26 ### cx_strcasecmp |
43 ### cx_strcasecmp |
27 ### cx_strcasecmp_p |
44 ### cx_strcasecmp_p |
|
45 ### cx_strprefix |
|
46 ### cx_strsuffix |
28 ### cx_strcaseprefix |
47 ### cx_strcaseprefix |
29 ### cx_strcasesuffix |
48 ### cx_strcasesuffix |
|
49 |
|
50 ## Concatenation |
|
51 |
30 ### cx_strcat_ma |
52 ### cx_strcat_ma |
|
53 |
|
54 ## Find Characters and Substrings |
|
55 |
31 ### cx_strchr |
56 ### cx_strchr |
32 ### cx_strchr_m |
57 ### cx_strchr_m |
33 ### cx_strcmp |
|
34 ### cx_strcmp_p |
|
35 ### cx_strdup_a_ |
|
36 ### cx_strfree |
|
37 ### cx_strfree_a |
|
38 ### cx_strlen |
|
39 ### cx_strlower |
|
40 ### cx_strn |
|
41 ### cx_strprefix |
|
42 ### cx_strrchr |
58 ### cx_strrchr |
43 ### cx_strrchr_m |
59 ### cx_strrchr_m |
|
60 ### cx_strstr |
|
61 ### cx_strstr_m |
|
62 ### cx_strsubs |
|
63 ### cx_strsubsl |
|
64 ### cx_strsubsl_m |
|
65 ### cx_strsubs_m |
|
66 |
|
67 ## Replace Substrings |
|
68 |
44 ### cx_strreplacen_a |
69 ### cx_strreplacen_a |
|
70 |
|
71 ## Basic Splitting |
|
72 |
45 ### cx_strsplit |
73 ### cx_strsplit |
46 ### cx_strsplit_a |
74 ### cx_strsplit_a |
47 ### cx_strsplit_m |
75 ### cx_strsplit_m |
48 ### cx_strsplit_ma |
76 ### cx_strsplit_ma |
49 ### cx_strstr |
77 |
50 ### cx_strstr_m |
78 ## Complex Tokenization |
51 ### cx_strstr_sbo_size |
79 |
52 ### cx_strsubs |
80 ### cx_strtok_ |
53 ### cx_strsubsl |
81 ### cx_strtok_delim |
54 ### cx_strsubsl_m |
82 ### cx_strtok_next |
55 ### cx_strsubs_m |
83 ### cx_strtok_next_m |
56 ### cx_strsuffix |
84 |
|
85 ## Conversion to Numbers |
|
86 |
57 ### cx_strtod_lc_ |
87 ### cx_strtod_lc_ |
58 ### cx_strtof_lc_ |
88 ### cx_strtof_lc_ |
59 ### cx_strtoi16_lc_ |
89 ### cx_strtoi16_lc_ |
60 ### cx_strtoi32_lc_ |
90 ### cx_strtoi32_lc_ |
61 ### cx_strtoi64_lc_ |
91 ### cx_strtoi64_lc_ |
62 ### cx_strtoi8_lc_ |
92 ### cx_strtoi8_lc_ |
63 ### cx_strtoi_lc_ |
93 ### cx_strtoi_lc_ |
64 ### cx_strtok_ |
94 ### cx_strtol_lc |
65 ### cx_strtok_delim |
95 ### cx_strtoll_lc |
66 ### cx_strtok_next |
96 ### cx_strtos_lc |
67 ### cx_strtok_next_m |
97 ### cx_strtou16_lc |
68 ### cx_strtol_lc_ |
98 ### cx_strtou32_lc |
69 ### cx_strtoll_lc_ |
99 ### cx_strtou64_lc |
70 ### cx_strtos_lc_ |
100 ### cx_strtou8_lc |
71 ### cx_strtou16_lc_ |
101 ### cx_strtou_lc |
72 ### cx_strtou32_lc_ |
102 ### cx_strtoul_lc |
73 ### cx_strtou64_lc_ |
103 ### cx_strtoull_lc |
74 ### cx_strtou8_lc_ |
104 ### cx_strtous_lc |
75 ### cx_strtou_lc_ |
105 ### cx_strtouz_lc |
76 ### cx_strtoul_lc_ |
106 ### cx_strtoz_lc |
77 ### cx_strtoull_lc_ |
|
78 ### cx_strtous_lc_ |
|
79 ### cx_strtouz_lc_ |
|
80 ### cx_strtoz_lc_ |
|
81 ### cx_strtrim |
|
82 ### cx_strtrim_m |
|
83 ### cx_strupper |
|