Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | /* |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | * Copyright 2021 Mike Becker, Olaf Wintermann All rights reserved. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | /** |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
29 | * @file string.h |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
30 | * @brief Strings that know their length. |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
31 | * @author Mike Becker |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
32 | * @author Olaf Wintermann |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
33 | * @copyright 2-Clause BSD License |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
35 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | #ifndef UCX_STRING_H |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | #define UCX_STRING_H |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
38 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
39 | #include "common.h" |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | #include "allocator.h" |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | |
1297
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
42 | /** Expands a UCX string as printf arguments. */ |
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
43 | #define CX_SFMT(s) (int) (s).length, (s).ptr |
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
44 | |
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
45 | /** Format specifier for a UCX string */ |
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
46 | #define CX_PRIstr ".*s" |
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1224
diff
changeset
|
47 | |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
48 | /** |
806
e06249e09f99
add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents:
759
diff
changeset
|
49 | * The maximum length of the "needle" in cx_strstr() that can use SBO. |
e06249e09f99
add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents:
759
diff
changeset
|
50 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
51 | cx_attr_export |
926
8fdd8d78c14b
fix several survivors of east-const and some missing consts
Mike Becker <universe@uap-core.de>
parents:
890
diff
changeset
|
52 | extern const unsigned cx_strstr_sbo_size; |
806
e06249e09f99
add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents:
759
diff
changeset
|
53 | |
e06249e09f99
add constant for reading out strstr sbo size - relates to #343
Mike Becker <universe@uap-core.de>
parents:
759
diff
changeset
|
54 | /** |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
55 | * The UCX string structure. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | */ |
577
26447d59a5ab
wrong position of struct identifier
Mike Becker <universe@uap-core.de>
parents:
576
diff
changeset
|
57 | struct cx_mutstr_s { |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
59 | * A pointer to the string. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
60 | * @note The string is not necessarily @c NULL terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
61 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
62 | char *ptr; |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
63 | /** The length of the string */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
64 | size_t length; |
577
26447d59a5ab
wrong position of struct identifier
Mike Becker <universe@uap-core.de>
parents:
576
diff
changeset
|
65 | }; |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
66 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
67 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
68 | * A mutable string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
69 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
70 | typedef struct cx_mutstr_s cxmutstr; |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
71 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
72 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
73 | * The UCX string structure for immutable (constant) strings. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
74 | */ |
577
26447d59a5ab
wrong position of struct identifier
Mike Becker <universe@uap-core.de>
parents:
576
diff
changeset
|
75 | struct cx_string_s { |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
77 | * A pointer to the immutable string. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
78 | * @note The string is not necessarily @c NULL terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
79 | */ |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
80 | const char *ptr; |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
81 | /** The length of the string */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
82 | size_t length; |
577
26447d59a5ab
wrong position of struct identifier
Mike Becker <universe@uap-core.de>
parents:
576
diff
changeset
|
83 | }; |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
84 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
85 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
86 | * An immutable string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
87 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
88 | typedef struct cx_string_s cxstring; |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
89 | |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
90 | /** |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
91 | * Context for string tokenizing. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
92 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
93 | struct cx_strtok_ctx_s { |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
94 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
95 | * The string to tokenize. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
96 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
97 | cxstring str; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
98 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
99 | * The primary delimiter. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
100 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
101 | cxstring delim; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
102 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
103 | * Optional array of more delimiters. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
104 | */ |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
105 | const cxstring *delim_more; |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
106 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
107 | * Length of the array containing more delimiters. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
108 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
109 | size_t delim_more_count; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
110 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
111 | * Position of the currently active token in the source string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
112 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
113 | size_t pos; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
114 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
115 | * Position of next delimiter in the source string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
116 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
117 | * If the tokenizer has not yet returned a token, the content of this field |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
118 | * is undefined. If the tokenizer reached the end of the string, this field |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
119 | * contains the length of the source string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
120 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
121 | size_t delim_pos; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
122 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
123 | * The position of the next token in the source string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
124 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
125 | size_t next_pos; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
126 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
127 | * The number of already found tokens. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
128 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
129 | size_t found; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
130 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
131 | * The maximum number of tokens that shall be returned. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
132 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
133 | size_t limit; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
134 | }; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
135 | |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
136 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
137 | * A string tokenizing context. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
138 | */ |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
139 | typedef struct cx_strtok_ctx_s CxStrtokCtx; |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
140 | |
684
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
141 | #ifdef __cplusplus |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
142 | extern "C" { |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
143 | |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
144 | /** |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
145 | * A literal initializer for an UCX string structure. |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
146 | * |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
147 | * @param literal the string literal |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
148 | */ |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
149 | #define CX_STR(literal) cxstring{literal, sizeof(literal) - 1} |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
150 | |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
151 | #else // __cplusplus |
380bd45bc94a
change CX_STR: use compound literal in C and ctor in C++
Mike Becker <universe@uap-core.de>
parents:
677
diff
changeset
|
152 | |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
153 | /** |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
154 | * A literal initializer for an UCX string structure. |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
155 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
156 | * The argument MUST be a string (const char*) @em literal. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
157 | * |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
158 | * @param literal the string literal |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
159 | */ |
1224
e20e100fa71f
make CX_STR more robust when used in macro expansions
Mike Becker <universe@uap-core.de>
parents:
1223
diff
changeset
|
160 | #define CX_STR(literal) ((cxstring){literal, sizeof(literal) - 1}) |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
161 | |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
162 | #endif |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
163 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
164 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
165 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
166 | * Wraps a mutable string that must be zero-terminated. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
167 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
168 | * The length is implicitly inferred by using a call to @c strlen(). |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
169 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
170 | * @note the wrapped string will share the specified pointer to the string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
171 | * If you do want a copy, use cx_strdup() on the return value of this function. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
172 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
173 | * If you need to wrap a constant string, use cx_str(). |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
174 | * |
584
184e9ebfc3cc
disallow NULL for cx_str() and cx_mutstr()
Mike Becker <universe@uap-core.de>
parents:
583
diff
changeset
|
175 | * @param cstring the string to wrap, must be zero-terminated |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
176 | * @return the wrapped string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
177 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
178 | * @see cx_mutstrn() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
179 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
180 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
181 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
182 | cx_attr_cstr_arg(1) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
183 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
184 | cxmutstr cx_mutstr(char *cstring); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
185 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
186 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
187 | * Wraps a string that does not need to be zero-terminated. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
188 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
189 | * The argument may be @c NULL if the length is zero. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
190 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
191 | * @note the wrapped string will share the specified pointer to the string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
192 | * If you do want a copy, use cx_strdup() on the return value of this function. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
193 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
194 | * If you need to wrap a constant string, use cx_strn(). |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
195 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
196 | * @param cstring the string to wrap (or @c NULL, only if the length is zero) |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
197 | * @param length the length of the string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
198 | * @return the wrapped string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
199 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
200 | * @see cx_mutstr() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
201 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
202 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
203 | cx_attr_access_rw(1, 2) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
204 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
205 | cxmutstr cx_mutstrn( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
206 | char *cstring, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
207 | size_t length |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
208 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
209 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
210 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
211 | * Wraps a string that must be zero-terminated. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
212 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
213 | * The length is implicitly inferred by using a call to @c strlen(). |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
214 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
215 | * @note the wrapped string will share the specified pointer to the string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
216 | * If you do want a copy, use cx_strdup() on the return value of this function. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
217 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
218 | * If you need to wrap a non-constant string, use cx_mutstr(). |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
219 | * |
584
184e9ebfc3cc
disallow NULL for cx_str() and cx_mutstr()
Mike Becker <universe@uap-core.de>
parents:
583
diff
changeset
|
220 | * @param cstring the string to wrap, must be zero-terminated |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
221 | * @return the wrapped string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
222 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
223 | * @see cx_strn() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
224 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
225 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
226 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
227 | cx_attr_cstr_arg(1) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
228 | cx_attr_export |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
229 | cxstring cx_str(const char *cstring); |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
230 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
231 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
232 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
233 | * Wraps a string that does not need to be zero-terminated. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
234 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
235 | * The argument may be @c NULL if the length is zero. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
236 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
237 | * @note the wrapped string will share the specified pointer to the string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
238 | * If you do want a copy, use cx_strdup() on the return value of this function. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
239 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
240 | * If you need to wrap a non-constant string, use cx_mutstrn(). |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
241 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
242 | * @param cstring the string to wrap (or @c NULL, only if the length is zero) |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
243 | * @param length the length of the string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
244 | * @return the wrapped string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
245 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
246 | * @see cx_str() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
247 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
248 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
249 | cx_attr_access_r(1, 2) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
250 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
251 | cxstring cx_strn( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
252 | const char *cstring, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
253 | size_t length |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
254 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
255 | |
1050
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
256 | #ifdef __cplusplus |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
257 | } // extern "C" |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
258 | cx_attr_nodiscard |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
259 | static inline cxstring cx_strcast(cxmutstr str) { |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
260 | return cx_strn(str.ptr, str.length); |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
261 | } |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
262 | cx_attr_nodiscard |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
263 | static inline cxstring cx_strcast(cxstring str) { |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
264 | return str; |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
265 | } |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
266 | extern "C" { |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
267 | #else |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
268 | /** |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
269 | * Internal function, do not use. |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
270 | * @param str |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
271 | * @return |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
272 | * @see cx_strcast() |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
273 | */ |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
274 | cx_attr_nodiscard |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
275 | static inline cxstring cx_strcast_m(cxmutstr str) { |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
276 | return (cxstring) {str.ptr, str.length}; |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
277 | } |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
278 | /** |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
279 | * Internal function, do not use. |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
280 | * @param str |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
281 | * @return |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
282 | * @see cx_strcast() |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
283 | */ |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
284 | cx_attr_nodiscard |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
285 | static inline cxstring cx_strcast_c(cxstring str) { |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
286 | return str; |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
287 | } |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
288 | |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
289 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
290 | * Casts a mutable string to an immutable string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
291 | * |
1050
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
292 | * Does nothing for already immutable strings. |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
293 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
294 | * @note This is not seriously a cast. Instead, you get a copy |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
295 | * of the struct with the desired pointer type. Both structs still |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
296 | * point to the same location, though! |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
297 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
298 | * @param str (@c cxstring or @c cxmutstr) the string to cast |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
299 | * @return (@c cxstring) an immutable copy of the string pointer |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
300 | */ |
1050
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
301 | #define cx_strcast(str) _Generic((str), \ |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
302 | cxmutstr: cx_strcast_m, \ |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
303 | cxstring: cx_strcast_c) \ |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
304 | (str) |
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1046
diff
changeset
|
305 | #endif |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
306 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
307 | /** |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
308 | * Passes the pointer in this string to the cxDefaultAllocator's @c free() function. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
309 | * |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
310 | * The pointer in the struct is set to @c NULL and the length is set to zero |
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
311 | * which means that this function protects you against double-free. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
312 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
313 | * @note There is no implementation for cxstring, because it is unlikely that |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
314 | * you ever have a <code>const char*</code> you are really supposed to free. |
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
315 | * If you encounter such situation, you should double-check your code. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
316 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
317 | * @param str the string to free |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
318 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
319 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
320 | void cx_strfree(cxmutstr *str); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
321 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
322 | /** |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
323 | * Passes the pointer in this string to the allocators free function. |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
324 | * |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
325 | * The pointer in the struct is set to @c NULL and the length is set to zero |
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
326 | * which means that this function protects you against double-free. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
327 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
328 | * @note There is no implementation for cxstring, because it is unlikely that |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
329 | * you ever have a <code>const char*</code> you are really supposed to free. |
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
330 | * If you encounter such situation, you should double-check your code. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
331 | * |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
332 | * @param alloc the allocator |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
333 | * @param str the string to free |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
334 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
335 | cx_attr_nonnull_arg(1) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
336 | cx_attr_export |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
337 | void cx_strfree_a( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
338 | const CxAllocator *alloc, |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
339 | cxmutstr *str |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
340 | ); |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
341 | |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
342 | /** |
1304
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
343 | * Copies a string. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
344 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
345 | * The memory in the @p dest structure is either allocated or re-allocated to fit the entire |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
346 | * source string, including a zero-terminator. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
347 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
348 | * The string in @p dest is guaranteed to be zero-terminated, regardless of whether @p src is. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
349 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
350 | * @param alloc the allocator |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
351 | * @param dest a pointer to the structure where to copy the contents to |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
352 | * @param src the source string |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
353 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
354 | * @retval zero success |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
355 | * @retval non-zero if re-allocation failed |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
356 | */ |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
357 | cx_attr_nonnull_arg(1) |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
358 | cx_attr_export |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
359 | int cx_strcpy_a( |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
360 | const CxAllocator *alloc, |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
361 | cxmutstr *dest, |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
362 | cxstring src |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
363 | ); |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
364 | |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
365 | |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
366 | /** |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
367 | * Copies a string. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
368 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
369 | * The memory in the @p dest structure is either allocated or re-allocated to fit the entire |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
370 | * source string, including a zero-terminator. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
371 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
372 | * The string in @p dest is guaranteed to be zero-terminated, regardless of whether @p src is. |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
373 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
374 | * @param dest (@c cxmutstr*) a pointer to the structure where to copy the contents to |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
375 | * @param src (@c cxstring) the source string |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
376 | * |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
377 | * @retval zero success |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
378 | * @retval non-zero if re-allocation failed |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
379 | */ |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
380 | #define cx_strcpy(dest, src) cx_strcpy_a(cxDefaultAllocator, dest, src) |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
381 | |
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
382 | /** |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
383 | * Returns the accumulated length of all specified strings. |
1040
1ecf4dbbc60c
add some more overflow treatment and make sure to set errno properly
Mike Becker <universe@uap-core.de>
parents:
1001
diff
changeset
|
384 | * |
1ecf4dbbc60c
add some more overflow treatment and make sure to set errno properly
Mike Becker <universe@uap-core.de>
parents:
1001
diff
changeset
|
385 | * If this sum overflows, errno is set to EOVERFLOW. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
386 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
387 | * @attention if the count argument is larger than the number of the |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
388 | * specified strings, the behavior is undefined. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
389 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
390 | * @param count the total number of specified strings |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
391 | * @param ... all strings |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
392 | * @return the accumulated length of all strings |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
393 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
394 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
395 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
396 | size_t cx_strlen( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
397 | size_t count, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
398 | ... |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
399 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
400 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
401 | /** |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
402 | * Concatenates strings. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
403 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
404 | * The resulting string will be allocated by the specified allocator. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
405 | * So developers @em must pass the return value to cx_strfree_a() eventually. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
406 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
407 | * If @p str already contains a string, the memory will be reallocated and |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
408 | * the other strings are appended. Otherwise, new memory is allocated. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
409 | * |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
410 | * If memory allocation fails, the pointer in the returned string will |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
411 | * be @c NULL. Depending on the allocator, @c errno might be set. |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
412 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
413 | * @note It is guaranteed that there is only one allocation for the |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
414 | * resulting string. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
415 | * It is also guaranteed that the returned string is zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
416 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
417 | * @param alloc the allocator to use |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
418 | * @param str the string the other strings shall be concatenated to |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
419 | * @param count the number of the other following strings to concatenate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
420 | * @param ... all other UCX strings |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
421 | * @return the concatenated string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
422 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
423 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
424 | cx_attr_nonnull |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
425 | cx_attr_export |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
426 | cxmutstr cx_strcat_ma( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
427 | const CxAllocator *alloc, |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
428 | cxmutstr str, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
429 | size_t count, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
430 | ... |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
431 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
432 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
433 | /** |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
434 | * Concatenates strings and returns a new string. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
435 | * |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
436 | * The resulting string will be allocated by the specified allocator. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
437 | * So developers @em must pass the return value to cx_strfree_a() eventually. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
438 | * |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
439 | * If memory allocation fails, the pointer in the returned string will |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
440 | * be @c NULL. Depending on the allocator, @c errno might be set. |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
441 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
442 | * @note It is guaranteed that there is only one allocation for the |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
443 | * resulting string. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
444 | * It is also guaranteed that the returned string is zero-terminated. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
445 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
446 | * @param alloc (@c CxAllocator*) the allocator to use |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
447 | * @param count (@c size_t) the number of the other following strings to concatenate |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
448 | * @param ... all other UCX strings |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
449 | * @return (@c cxmutstr) the concatenated string |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
450 | */ |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
451 | #define cx_strcat_a(alloc, count, ...) \ |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
452 | cx_strcat_ma(alloc, cx_mutstrn(NULL, 0), count, __VA_ARGS__) |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
453 | |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
454 | /** |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
455 | * Concatenates strings and returns a new string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
456 | * |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
457 | * The resulting string will be allocated by the cxDefaultAllocator. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
458 | * So developers @em must pass the return value to cx_strfree() eventually. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
459 | * |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
460 | * If memory allocation fails, the pointer in the returned string will |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
461 | * be @c NULL and @c errno might be set. |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
462 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
463 | * @note It is guaranteed that there is only one allocation for the |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
464 | * resulting string. |
589
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
465 | * It is also guaranteed that the returned string is zero-terminated. |
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
466 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
467 | * @param count (@c size_t) the number of the other following strings to concatenate |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
468 | * @param ... all other UCX strings |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
469 | * @return (@c cxmutstr) the concatenated string |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
470 | */ |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
471 | #define cx_strcat(count, ...) \ |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
472 | cx_strcat_ma(cxDefaultAllocator, cx_mutstrn(NULL, 0), count, __VA_ARGS__) |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
473 | |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
474 | /** |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
475 | * Concatenates strings. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
476 | * |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
477 | * The resulting string will be allocated by the cxDefaultAllocator. |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
478 | * So developers @em must pass the return value to cx_strfree() eventually. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
479 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
480 | * If @p str already contains a string, the memory will be reallocated and |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
481 | * the other strings are appended. Otherwise, new memory is allocated. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
482 | * |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
483 | * If memory allocation fails, the pointer in the returned string will |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
484 | * be @c NULL and @c errno might be set. |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
485 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
486 | * @note It is guaranteed that there is only one allocation for the |
1001
5c9ec5a0a4ef
change cx_strcat variants to allow handling of ENOMEM
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
487 | * resulting string. |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
488 | * It is also guaranteed that the returned string is zero-terminated. |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
489 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
490 | * @param str (@c cxmutstr) the string the other strings shall be concatenated to |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
491 | * @param count (@c size_t) the number of the other following strings to concatenate |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
492 | * @param ... all other strings |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
493 | * @return (@c cxmutstr) the concatenated string |
697
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
494 | */ |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
495 | #define cx_strcat_m(str, count, ...) \ |
ebdce4bf262b
add cx_strcat_m() and cx_strcat_ma() for in-place concatenation
Mike Becker <universe@uap-core.de>
parents:
693
diff
changeset
|
496 | cx_strcat_ma(cxDefaultAllocator, str, count, __VA_ARGS__) |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
497 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
498 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
499 | * Returns a substring starting at the specified location. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
500 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
501 | * @attention the new string references the same memory area as the |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
502 | * input string and is usually @em not zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
503 | * Use cx_strdup() to get a copy. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
504 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
505 | * @param string input string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
506 | * @param start start location of the substring |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
507 | * @return a substring of @p string starting at @p start |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
508 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
509 | * @see cx_strsubsl() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
510 | * @see cx_strsubs_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
511 | * @see cx_strsubsl_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
512 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
513 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
514 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
515 | cxstring cx_strsubs( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
516 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
517 | size_t start |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
518 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
519 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
520 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
521 | * Returns a substring starting at the specified location. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
522 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
523 | * The returned string will be limited to @p length bytes or the number |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
524 | * of bytes available in @p string, whichever is smaller. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
525 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
526 | * @attention the new string references the same memory area as the |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
527 | * input string and is usually @em not zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
528 | * Use cx_strdup() to get a copy. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
529 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
530 | * @param string input string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
531 | * @param start start location of the substring |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
532 | * @param length the maximum length of the returned string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
533 | * @return a substring of @p string starting at @p start |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
534 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
535 | * @see cx_strsubs() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
536 | * @see cx_strsubs_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
537 | * @see cx_strsubsl_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
538 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
539 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
540 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
541 | cxstring cx_strsubsl( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
542 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
543 | size_t start, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
544 | size_t length |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
545 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
546 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
547 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
548 | * Returns a substring starting at the specified location. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
549 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
550 | * @attention the new string references the same memory area as the |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
551 | * input string and is usually @em not zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
552 | * Use cx_strdup() to get a copy. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
553 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
554 | * @param string input string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
555 | * @param start start location of the substring |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
556 | * @return a substring of @p string starting at @p start |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
557 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
558 | * @see cx_strsubsl_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
559 | * @see cx_strsubs() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
560 | * @see cx_strsubsl() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
561 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
562 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
563 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
564 | cxmutstr cx_strsubs_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
565 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
566 | size_t start |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
567 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
568 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
569 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
570 | * Returns a substring starting at the specified location. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
571 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
572 | * The returned string will be limited to @p length bytes or the number |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
573 | * of bytes available in @p string, whichever is smaller. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
574 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
575 | * @attention the new string references the same memory area as the |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
576 | * input string and is usually @em not zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
577 | * Use cx_strdup() to get a copy. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
578 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
579 | * @param string input string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
580 | * @param start start location of the substring |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
581 | * @param length the maximum length of the returned string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
582 | * @return a substring of @p string starting at @p start |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
583 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
584 | * @see cx_strsubs_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
585 | * @see cx_strsubs() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
586 | * @see cx_strsubsl() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
587 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
588 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
589 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
590 | cxmutstr cx_strsubsl_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
591 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
592 | size_t start, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
593 | size_t length |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
594 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
595 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
596 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
597 | * Returns a substring starting at the location of the first occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
598 | * specified character. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
599 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
600 | * If the string does not contain the character, an empty string is returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
601 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
602 | * @param string the string where to locate the character |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
603 | * @param chr the character to locate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
604 | * @return a substring starting at the first location of @p chr |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
605 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
606 | * @see cx_strchr_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
607 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
608 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
609 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
610 | cxstring cx_strchr( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
611 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
612 | int chr |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
613 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
614 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
615 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
616 | * Returns a substring starting at the location of the first occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
617 | * specified character. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
618 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
619 | * If the string does not contain the character, an empty string is returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
620 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
621 | * @param string the string where to locate the character |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
622 | * @param chr the character to locate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
623 | * @return a substring starting at the first location of @p chr |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
624 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
625 | * @see cx_strchr() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
626 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
627 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
628 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
629 | cxmutstr cx_strchr_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
630 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
631 | int chr |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
632 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
633 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
634 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
635 | * Returns a substring starting at the location of the last occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
636 | * specified character. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
637 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
638 | * If the string does not contain the character, an empty string is returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
639 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
640 | * @param string the string where to locate the character |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
641 | * @param chr the character to locate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
642 | * @return a substring starting at the last location of @p chr |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
643 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
644 | * @see cx_strrchr_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
645 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
646 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
647 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
648 | cxstring cx_strrchr( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
649 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
650 | int chr |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
651 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
652 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
653 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
654 | * Returns a substring starting at the location of the last occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
655 | * specified character. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
656 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
657 | * If the string does not contain the character, an empty string is returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
658 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
659 | * @param string the string where to locate the character |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
660 | * @param chr the character to locate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
661 | * @return a substring starting at the last location of @p chr |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
662 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
663 | * @see cx_strrchr() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
664 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
665 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
666 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
667 | cxmutstr cx_strrchr_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
668 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
669 | int chr |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
670 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
671 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
672 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
673 | * Returns a substring starting at the location of the first occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
674 | * specified string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
675 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
676 | * If @p haystack does not contain @p needle, an empty string is returned. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
677 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
678 | * If @p needle is an empty string, the complete @p haystack is |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
679 | * returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
680 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
681 | * @param haystack the string to be scanned |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
682 | * @param needle string containing the sequence of characters to match |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
683 | * @return a substring starting at the first occurrence of |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
684 | * @p needle, or an empty string, if the sequence is not |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
685 | * contained |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
686 | * @see cx_strstr_m() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
687 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
688 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
689 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
690 | cxstring cx_strstr( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
691 | cxstring haystack, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
692 | cxstring needle |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
693 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
694 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
695 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
696 | * Returns a substring starting at the location of the first occurrence of the |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
697 | * specified string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
698 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
699 | * If @p haystack does not contain @p needle, an empty string is returned. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
700 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
701 | * If @p needle is an empty string, the complete @p haystack is |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
702 | * returned. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
703 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
704 | * @param haystack the string to be scanned |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
705 | * @param needle string containing the sequence of characters to match |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
706 | * @return a substring starting at the first occurrence of |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
707 | * @p needle, or an empty string, if the sequence is not |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
708 | * contained |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
709 | * @see cx_strstr() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
710 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
711 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
712 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
713 | cxmutstr cx_strstr_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
714 | cxmutstr haystack, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
715 | cxstring needle |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
716 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
717 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
718 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
719 | * Splits a given string using a delimiter string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
720 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
721 | * @note The resulting array contains strings that point to the source |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
722 | * @p string. Use cx_strdup() to get copies. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
723 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
724 | * @param string the string to split |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
725 | * @param delim the delimiter |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
726 | * @param limit the maximum number of split items |
1185
d825aca193d3
use reallocate instead of re-allocate
Mike Becker <universe@uap-core.de>
parents:
1180
diff
changeset
|
727 | * @param output a preallocated array of at least @p limit length |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
728 | * @return the actual number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
729 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
730 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
731 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
732 | cx_attr_access_w(4, 3) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
733 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
734 | size_t cx_strsplit( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
735 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
736 | cxstring delim, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
737 | size_t limit, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
738 | cxstring *output |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
739 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
740 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
741 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
742 | * Splits a given string using a delimiter string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
743 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
744 | * The array pointed to by @p output will be allocated by @p allocator. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
745 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
746 | * @note The resulting array contains strings that point to the source |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
747 | * @p string. Use cx_strdup() to get copies. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
748 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
749 | * @attention If allocation fails, the @c NULL pointer will be written to |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
750 | * @p output and the number returned will be zero. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
751 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
752 | * @param allocator the allocator to use for allocating the resulting array |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
753 | * @param string the string to split |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
754 | * @param delim the delimiter |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
755 | * @param limit the maximum number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
756 | * @param output a pointer where the address of the allocated array shall be |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
757 | * written to |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
758 | * @return the actual number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
759 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
760 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
761 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
762 | cx_attr_access_w(5) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
763 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
764 | size_t cx_strsplit_a( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
765 | const CxAllocator *allocator, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
766 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
767 | cxstring delim, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
768 | size_t limit, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
769 | cxstring **output |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
770 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
771 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
772 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
773 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
774 | * Splits a given string using a delimiter string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
775 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
776 | * @note The resulting array contains strings that point to the source |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
777 | * @p string. Use cx_strdup() to get copies. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
778 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
779 | * @param string the string to split |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
780 | * @param delim the delimiter |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
781 | * @param limit the maximum number of split items |
1185
d825aca193d3
use reallocate instead of re-allocate
Mike Becker <universe@uap-core.de>
parents:
1180
diff
changeset
|
782 | * @param output a preallocated array of at least @p limit length |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
783 | * @return the actual number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
784 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
785 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
786 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
787 | cx_attr_access_w(4, 3) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
788 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
789 | size_t cx_strsplit_m( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
790 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
791 | cxstring delim, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
792 | size_t limit, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
793 | cxmutstr *output |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
794 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
795 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
796 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
797 | * Splits a given string using a delimiter string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
798 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
799 | * The array pointed to by @p output will be allocated by @p allocator. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
800 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
801 | * @note The resulting array contains strings that point to the source |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
802 | * @p string. Use cx_strdup() to get copies. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
803 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
804 | * @attention If allocation fails, the @c NULL pointer will be written to |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
805 | * @p output and the number returned will be zero. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
806 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
807 | * @param allocator the allocator to use for allocating the resulting array |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
808 | * @param string the string to split |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
809 | * @param delim the delimiter |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
810 | * @param limit the maximum number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
811 | * @param output a pointer where the address of the allocated array shall be |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
812 | * written to |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
813 | * @return the actual number of split items |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
814 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
815 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
816 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
817 | cx_attr_access_w(5) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
818 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
819 | size_t cx_strsplit_ma( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
820 | const CxAllocator *allocator, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
821 | cxmutstr string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
822 | cxstring delim, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
823 | size_t limit, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
824 | cxmutstr **output |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
825 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
826 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
827 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
828 | * Compares two strings. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
829 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
830 | * @param s1 the first string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
831 | * @param s2 the second string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
832 | * @return negative if @p s1 is smaller than @p s2, positive if @p s1 is larger |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
833 | * than @p s2, zero if both strings equal |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
834 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
835 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
836 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
837 | int cx_strcmp( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
838 | cxstring s1, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
839 | cxstring s2 |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
840 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
841 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
842 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
843 | * Compares two strings ignoring case. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
844 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
845 | * @param s1 the first string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
846 | * @param s2 the second string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
847 | * @return negative if @p s1 is smaller than @p s2, positive if @p s1 is larger |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
848 | * than @p s2, zero if both strings equal ignoring case |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
849 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
850 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
851 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
852 | int cx_strcasecmp( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
853 | cxstring s1, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
854 | cxstring s2 |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
855 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
856 | |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
857 | /** |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
858 | * Compares two strings. |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
859 | * |
677
b09aae58bba4
refactoring of collections to make use of destructors in map implementations
Mike Becker <universe@uap-core.de>
parents:
657
diff
changeset
|
860 | * This function has a compatible signature for the use as a cx_compare_func. |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
861 | * |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
862 | * @param s1 the first string |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
863 | * @param s2 the second string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
864 | * @return negative if @p s1 is smaller than @p s2, positive if @p s1 is larger |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
865 | * than @p s2, zero if both strings equal |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
866 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
867 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
868 | cx_attr_nonnull |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
869 | cx_attr_export |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
870 | int cx_strcmp_p( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
871 | const void *s1, |
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
872 | const void *s2 |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
873 | ); |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
874 | |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
875 | /** |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
876 | * Compares two strings ignoring case. |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
877 | * |
677
b09aae58bba4
refactoring of collections to make use of destructors in map implementations
Mike Becker <universe@uap-core.de>
parents:
657
diff
changeset
|
878 | * This function has a compatible signature for the use as a cx_compare_func. |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
879 | * |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
880 | * @param s1 the first string |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
881 | * @param s2 the second string |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
882 | * @return negative if @p s1 is smaller than @p s2, positive if @p s1 is larger |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
883 | * than @p s2, zero if both strings equal ignoring case |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
884 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
885 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
886 | cx_attr_nonnull |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
887 | cx_attr_export |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
888 | int cx_strcasecmp_p( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
889 | const void *s1, |
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
890 | const void *s2 |
657
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
891 | ); |
3eeadf666d6b
add CxListComparator compatible string compare functions
Mike Becker <universe@uap-core.de>
parents:
645
diff
changeset
|
892 | |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
893 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
894 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
895 | * Creates a duplicate of the specified string. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
896 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
897 | * The new string will contain a copy allocated by @p allocator. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
898 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
899 | * @note The returned string is guaranteed to be zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
900 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
901 | * @param allocator the allocator to use |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
902 | * @param string the string to duplicate |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
903 | * @return a duplicate of the string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
904 | * @see cx_strdup() |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
905 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
906 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
907 | cx_attr_nonnull |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
908 | cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
909 | cxmutstr cx_strdup_a_( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
910 | const CxAllocator *allocator, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
911 | cxstring string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
912 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
913 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
914 | /** |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
915 | * Creates a duplicate of the specified string. |
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
916 | * |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
917 | * The new string will contain a copy allocated by @p allocator. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
918 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
919 | * @note The returned string is guaranteed to be zero-terminated. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
920 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
921 | * @param allocator (@c CxAllocator*) the allocator to use |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
922 | * @param string the string to duplicate |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
923 | * @return (@c cxmutstr) a duplicate of the string |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
924 | * @see cx_strdup() |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
925 | * @see cx_strfree_a() |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
926 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
927 | #define cx_strdup_a(allocator, string) \ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
928 | cx_strdup_a_((allocator), cx_strcast(string)) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
929 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
930 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
931 | * Creates a duplicate of the specified string. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
932 | * |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
933 | * The new string will contain a copy allocated by the cxDefaultAllocator. |
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
934 | * So developers @em must pass the return value to cx_strfree(). |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
935 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
936 | * @note The returned string is guaranteed to be zero-terminated. |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
937 | * |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
938 | * @param string the string to duplicate |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
939 | * @return (@c cxmutstr) a duplicate of the string |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
940 | * @see cx_strdup_a() |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
941 | * @see cx_strfree() |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
942 | */ |
1223
be4c13de7c4f
fix cx_strdup() not using cx_strcast()
Mike Becker <universe@uap-core.de>
parents:
1221
diff
changeset
|
943 | #define cx_strdup(string) cx_strdup_a(cxDefaultAllocator, string) |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
944 | |
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
945 | /** |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
946 | * Omits leading and trailing spaces. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
947 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
948 | * @note the returned string references the same memory, thus you |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
949 | * must @em not free the returned memory. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
950 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
951 | * @param string the string that shall be trimmed |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
952 | * @return the trimmed string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
953 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
954 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
955 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
956 | cxstring cx_strtrim(cxstring string); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
957 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
958 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
959 | * Omits leading and trailing spaces. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
960 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
961 | * @note the returned string references the same memory, thus you |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
962 | * must @em not free the returned memory. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
963 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
964 | * @param string the string that shall be trimmed |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
965 | * @return the trimmed string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
966 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
967 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
968 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
969 | cxmutstr cx_strtrim_m(cxmutstr string); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
970 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
971 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
972 | * Checks, if a string has a specific prefix. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
973 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
974 | * @param string the string to check |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
975 | * @param prefix the prefix the string should have |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
976 | * @return @c true, if and only if the string has the specified prefix, |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
977 | * @c false otherwise |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
978 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
979 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
980 | cx_attr_export |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
981 | bool cx_strprefix( |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
982 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
983 | cxstring prefix |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
984 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
985 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
986 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
987 | * Checks, if a string has a specific suffix. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
988 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
989 | * @param string the string to check |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
990 | * @param suffix the suffix the string should have |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
991 | * @return @c true, if and only if the string has the specified suffix, |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
992 | * @c false otherwise |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
993 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
994 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
995 | cx_attr_export |
581
c067394737ca
implement more string functions
Mike Becker <universe@uap-core.de>
parents:
578
diff
changeset
|
996 | bool cx_strsuffix( |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
997 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
998 | cxstring suffix |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
999 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1000 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1001 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1002 | * Checks, if a string has a specific prefix, ignoring the case. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1003 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1004 | * @param string the string to check |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1005 | * @param prefix the prefix the string should have |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1006 | * @return @c true, if and only if the string has the specified prefix, |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1007 | * @c false otherwise |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1008 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1009 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1010 | cx_attr_export |
581
c067394737ca
implement more string functions
Mike Becker <universe@uap-core.de>
parents:
578
diff
changeset
|
1011 | bool cx_strcaseprefix( |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1012 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1013 | cxstring prefix |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1014 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1015 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1016 | /** |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1017 | * Checks, if a string has a specific suffix, ignoring the case. |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1018 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1019 | * @param string the string to check |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1020 | * @param suffix the suffix the string should have |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1021 | * @return @c true, if and only if the string has the specified suffix, |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1022 | * @c false otherwise |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1023 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1024 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1025 | cx_attr_export |
581
c067394737ca
implement more string functions
Mike Becker <universe@uap-core.de>
parents:
578
diff
changeset
|
1026 | bool cx_strcasesuffix( |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1027 | cxstring string, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1028 | cxstring suffix |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1029 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1030 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1031 | /** |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1032 | * Replaces a string with another string. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1033 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1034 | * Replaces at most @p replmax occurrences. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1035 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1036 | * The returned string will be allocated by @p allocator and is guaranteed |
589
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
1037 | * to be zero-terminated. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1038 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1039 | * If allocation fails, or the input string is empty, |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1040 | * the returned string will be empty. |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1041 | * |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1042 | * @param allocator the allocator to use |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1043 | * @param str the string where replacements should be applied |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1044 | * @param search the string to search for |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1045 | * @param replacement the replacement string |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1046 | * @param replmax maximum number of replacements |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1047 | * @return the resulting string after applying the replacements |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1048 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1049 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1050 | cx_attr_nonnull |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1051 | cx_attr_export |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1052 | cxmutstr cx_strreplacen_a( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
1053 | const CxAllocator *allocator, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1054 | cxstring str, |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1055 | cxstring search, |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1056 | cxstring replacement, |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1057 | size_t replmax |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1058 | ); |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1059 | |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1060 | /** |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1061 | * Replaces a string with another string. |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1062 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1063 | * Replaces at most @p replmax occurrences. |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1064 | * |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
1065 | * The returned string will be allocated by the cxDefaultAllocator and is guaranteed |
589
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
1066 | * to be zero-terminated. |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1067 | * |
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1068 | * If allocation fails, or the input string is empty, |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1069 | * the returned string will be empty. |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1070 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1071 | * @param str (@c cxstring) the string where replacements should be applied |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1072 | * @param search (@c cxstring) the string to search for |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1073 | * @param replacement (@c cxstring) the replacement string |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1074 | * @param replmax (@c size_t) maximum number of replacements |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1075 | * @return (@c cxmutstr) the resulting string after applying the replacements |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1076 | */ |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1077 | #define cx_strreplacen(str, search, replacement, replmax) \ |
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1078 | cx_strreplacen_a(cxDefaultAllocator, str, search, replacement, replmax) |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1079 | |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1080 | /** |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1081 | * Replaces a string with another string. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1082 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1083 | * The returned string will be allocated by @p allocator and is guaranteed |
589
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
1084 | * to be zero-terminated. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1085 | * |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1086 | * If allocation fails, or the input string is empty, |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1087 | * the returned string will be empty. |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1088 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1089 | * @param allocator (@c CxAllocator*) the allocator to use |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1090 | * @param str (@c cxstring) the string where replacements should be applied |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1091 | * @param search (@c cxstring) the string to search for |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1092 | * @param replacement (@c cxstring) the replacement string |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1093 | * @return (@c cxmutstr) the resulting string after applying the replacements |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1094 | */ |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1095 | #define cx_strreplace_a(allocator, str, search, replacement) \ |
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1096 | cx_strreplacen_a(allocator, str, search, replacement, SIZE_MAX) |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1097 | |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1098 | /** |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1099 | * Replaces a string with another string. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1100 | * |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1313
diff
changeset
|
1101 | * The returned string will be allocated by the cxDefaultAllocator and is guaranteed |
589
c290f8fd979e
add zero-termination guarantees
Mike Becker <universe@uap-core.de>
parents:
584
diff
changeset
|
1102 | * to be zero-terminated. |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1103 | * |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1104 | * If allocation fails, or the input string is empty, |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1105 | * the returned string will be empty. |
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1106 | * |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1107 | * @param str (@c cxstring) the string where replacements should be applied |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1108 | * @param search (@c cxstring) the string to search for |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1109 | * @param replacement (@c cxstring) the replacement string |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1110 | * @return (@c cxmutstr) the resulting string after applying the replacements |
583
0f3c9662f9b5
add tests and missing implementations for strings
Mike Becker <universe@uap-core.de>
parents:
581
diff
changeset
|
1111 | */ |
1221
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1112 | #define cx_strreplace(str, search, replacement) \ |
304f4f7b37d1
document cx_strreplace() family of functions and improve docstrings
Mike Becker <universe@uap-core.de>
parents:
1193
diff
changeset
|
1113 | cx_strreplacen_a(cxDefaultAllocator, str, search, replacement, SIZE_MAX) |
578
0b2c0cb280a9
some function can be macros using the default allocator
Mike Becker <universe@uap-core.de>
parents:
577
diff
changeset
|
1114 | |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1115 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1116 | * Creates a string tokenization context. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1117 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1118 | * @param str the string to tokenize |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1119 | * @param delim the delimiter (must not be empty) |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1120 | * @param limit the maximum number of tokens that shall be returned |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1121 | * @return a new string tokenization context |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1122 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1123 | cx_attr_nodiscard |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1124 | cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1125 | CxStrtokCtx cx_strtok_( |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1126 | cxstring str, |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1127 | cxstring delim, |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1128 | size_t limit |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1129 | ); |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1130 | |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1131 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1132 | * Creates a string tokenization context. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1133 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1134 | * @param str the string to tokenize |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1135 | * @param delim the delimiter string (must not be empty) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1136 | * @param limit (@c size_t) the maximum number of tokens that shall be returned |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1137 | * @return (@c CxStrtokCtx) a new string tokenization context |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1138 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1139 | #define cx_strtok(str, delim, limit) \ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1140 | cx_strtok_(cx_strcast(str), cx_strcast(delim), (limit)) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1141 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1142 | /** |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1143 | * Returns the next token. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1144 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1145 | * The token will point to the source string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1146 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1147 | * @param ctx the tokenization context |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1148 | * @param token a pointer to memory where the next token shall be stored |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1149 | * @return true if successful, false if the limit or the end of the string |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1150 | * has been reached |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1151 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1152 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1153 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1154 | cx_attr_access_w(2) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1155 | cx_attr_export |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1156 | bool cx_strtok_next( |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1157 | CxStrtokCtx *ctx, |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1158 | cxstring *token |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1159 | ); |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1160 | |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1161 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1162 | * Returns the next token of a mutable string. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1163 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1164 | * The token will point to the source string. |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
1165 | * |
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1107
diff
changeset
|
1166 | * @attention |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1167 | * If the context was not initialized over a mutable string, modifying |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1168 | * the data of the returned token is undefined behavior. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1169 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1170 | * @param ctx the tokenization context |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1171 | * @param token a pointer to memory where the next token shall be stored |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1172 | * @return true if successful, false if the limit or the end of the string |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1173 | * has been reached |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1174 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1175 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1176 | cx_attr_nodiscard |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1177 | cx_attr_access_w(2) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1178 | cx_attr_export |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1179 | bool cx_strtok_next_m( |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1180 | CxStrtokCtx *ctx, |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1181 | cxmutstr *token |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1182 | ); |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1183 | |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1184 | /** |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1185 | * Defines an array of more delimiters for the specified tokenization context. |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1186 | * |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1187 | * @param ctx the tokenization context |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1188 | * @param delim array of more delimiters |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1189 | * @param count number of elements in the array |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1190 | */ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1191 | cx_attr_nonnull |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
926
diff
changeset
|
1192 | cx_attr_access_r(2, 3) |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1193 | cx_attr_export |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1194 | void cx_strtok_delim( |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1195 | CxStrtokCtx *ctx, |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
806
diff
changeset
|
1196 | const cxstring *delim, |
645
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1197 | size_t count |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1198 | ); |
ec50abb285ad
add strtok API - fixes #220
Mike Becker <universe@uap-core.de>
parents:
589
diff
changeset
|
1199 | |
1043
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1200 | /* ------------------------------------------------------------------------- * |
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1201 | * string to number conversion functions * |
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1202 | * ------------------------------------------------------------------------- */ |
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1203 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1204 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1205 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1206 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1207 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1208 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1209 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1210 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1211 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1212 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1213 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1214 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1215 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1216 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1217 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1218 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1219 | int cx_strtos_lc_(cxstring str, short *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1220 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1221 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1222 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1223 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1224 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1225 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1226 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1227 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1228 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1229 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1230 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1231 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1232 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1233 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1234 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1235 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1236 | int cx_strtoi_lc_(cxstring str, int *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1237 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1238 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1239 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1240 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1241 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1242 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1243 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1244 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1245 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1246 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1247 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1248 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1249 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1250 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1251 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1252 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1253 | int cx_strtol_lc_(cxstring str, long *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1254 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1255 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1256 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1257 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1258 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1259 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1260 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1261 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1262 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1263 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1264 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1265 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1266 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1267 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1268 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1269 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1270 | int cx_strtoll_lc_(cxstring str, long long *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1271 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1272 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1273 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1274 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1275 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1276 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1277 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1278 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1279 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1280 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1281 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1282 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1283 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1284 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1285 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1286 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1287 | int cx_strtoi8_lc_(cxstring str, int8_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1288 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1289 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1290 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1291 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1292 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1293 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1294 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1295 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1296 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1297 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1298 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1299 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1300 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1301 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1302 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1303 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1304 | int cx_strtoi16_lc_(cxstring str, int16_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1305 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1306 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1307 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1308 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1309 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1310 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1311 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1312 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1313 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1314 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1315 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1316 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1317 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1318 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1319 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1320 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1321 | int cx_strtoi32_lc_(cxstring str, int32_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1322 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1323 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1324 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1325 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1326 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1327 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1328 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1329 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1330 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1331 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1332 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1333 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1334 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1335 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1336 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1337 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1338 | int cx_strtoi64_lc_(cxstring str, int64_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1339 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1340 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1341 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1342 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1343 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1344 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1345 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1346 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1347 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1348 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1349 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1350 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1351 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1352 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1353 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1354 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1355 | int cx_strtous_lc_(cxstring str, unsigned short *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1356 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1357 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1358 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1359 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1360 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1361 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1362 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1363 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1364 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1365 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1366 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1367 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1368 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1369 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1370 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1371 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1372 | int cx_strtou_lc_(cxstring str, unsigned int *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1373 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1374 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1375 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1376 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1377 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1378 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1379 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1380 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1381 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1382 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1383 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1384 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1385 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1386 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1387 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1388 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1389 | int cx_strtoul_lc_(cxstring str, unsigned long *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1390 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1391 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1392 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1393 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1394 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1395 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1396 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1397 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1398 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1399 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1400 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1401 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1402 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1403 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1404 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1405 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1406 | int cx_strtoull_lc_(cxstring str, unsigned long long *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1407 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1408 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1409 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1410 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1411 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1412 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1413 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1414 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1415 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1416 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1417 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1418 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1419 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1420 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1421 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1422 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1423 | int cx_strtou8_lc_(cxstring str, uint8_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1424 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1425 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1426 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1427 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1428 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1429 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1430 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1431 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1432 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1433 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1434 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1435 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1436 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1437 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1438 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1439 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1440 | int cx_strtou16_lc_(cxstring str, uint16_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1441 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1442 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1443 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1444 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1445 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1446 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1447 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1448 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1449 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1450 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1451 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1452 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1453 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1454 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1455 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1456 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1457 | int cx_strtou32_lc_(cxstring str, uint32_t *output, int base, const char *groupsep); |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1458 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1459 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1460 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1461 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1462 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1463 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1464 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1465 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1466 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1467 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1468 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1469 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1470 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1471 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1472 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1473 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1474 | int cx_strtou64_lc_(cxstring str, uint64_t *output, int base, const char *groupsep); |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1475 | |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1476 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1477 | * Converts a string to a number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1478 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1479 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1480 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1481 | * It sets errno to ERANGE when the target datatype is too small. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1482 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1483 | * @param str the string to convert |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1484 | * @param output a pointer to the integer variable where the result shall be stored |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1485 | * @param base 2, 8, 10, or 16 |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1486 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1487 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1488 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1489 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1490 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1491 | int cx_strtoz_lc_(cxstring str, size_t *output, int base, const char *groupsep); |
1043
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1492 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1493 | /** |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1494 | * Converts a string to a single precision floating point number. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1495 | * |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1496 | * The function returns non-zero when conversion is not possible. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1497 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1498 | * It sets errno to ERANGE when the necessary representation would exceed the limits defined in libc's float.h. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1499 | * |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1500 | * @param str the string to convert |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1501 | * @param output a pointer to the float variable where the result shall be stored |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1502 | * @param decsep the decimal separator |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1503 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1504 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1505 | * @retval non-zero conversion was not possible |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1506 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1507 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1508 | int cx_strtof_lc_(cxstring str, float *output, char decsep, const char *groupsep); |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1509 | |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1510 | /** |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1511 | * Converts a string to a double precision floating point number. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1512 | * |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1513 | * The function returns non-zero when conversion is not possible. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1514 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1515 | * It sets errno to ERANGE when the necessary representation would exceed the limits defined in libc's float.h. |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1516 | * |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1517 | * @param str the string to convert |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1518 | * @param output a pointer to the float variable where the result shall be stored |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1519 | * @param decsep the decimal separator |
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1520 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1521 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1522 | * @retval non-zero conversion was not possible |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1523 | */ |
1180
4c3a69b9723a
add support for building windows DLLs - resolves #582
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
1524 | cx_attr_access_w(2) cx_attr_nonnull_arg(2) cx_attr_export |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1525 | int cx_strtod_lc_(cxstring str, double *output, char decsep, const char *groupsep); |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
1526 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1527 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1528 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1529 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1530 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1531 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1532 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1533 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1534 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1535 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1536 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1537 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1538 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1539 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1540 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1541 | #define cx_strtos_lc(str, output, base, groupsep) cx_strtos_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1542 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1543 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1544 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1545 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1546 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1547 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1548 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1549 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1550 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1551 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1552 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1553 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1554 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1555 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1556 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1557 | #define cx_strtoi_lc(str, output, base, groupsep) cx_strtoi_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1558 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1559 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1560 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1561 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1562 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1563 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1564 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1565 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1566 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1567 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1568 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1569 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1570 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1571 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1572 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1573 | #define cx_strtol_lc(str, output, base, groupsep) cx_strtol_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1574 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1575 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1576 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1577 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1578 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1579 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1580 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1581 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1582 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1583 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1584 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1585 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1586 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1587 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1588 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1589 | #define cx_strtoll_lc(str, output, base, groupsep) cx_strtoll_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1590 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1591 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1592 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1593 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1594 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1595 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1596 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1597 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1598 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1599 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1600 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1601 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1602 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1603 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1604 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1605 | #define cx_strtoi8_lc(str, output, base, groupsep) cx_strtoi8_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1606 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1607 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1608 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1609 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1610 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1611 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1612 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1613 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1614 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1615 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1616 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1617 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1618 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1619 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1620 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1621 | #define cx_strtoi16_lc(str, output, base, groupsep) cx_strtoi16_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1622 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1623 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1624 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1625 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1626 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1627 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1628 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1629 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1630 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1631 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1632 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1633 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1634 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1635 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1636 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1637 | #define cx_strtoi32_lc(str, output, base, groupsep) cx_strtoi32_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1638 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1639 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1640 | * Converts a string to a number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1641 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1642 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1643 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1644 | * It sets errno to ERANGE when the target datatype is too small. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1645 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1646 | * @param str the string to convert |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1647 | * @param output a pointer to the integer variable where the result shall be stored |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1648 | * @param base 2, 8, 10, or 16 |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1649 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1650 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1651 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1652 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1653 | #define cx_strtoi64_lc(str, output, base, groupsep) cx_strtoi64_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1654 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1655 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1656 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1657 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1658 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1659 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1660 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1661 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1662 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1663 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1664 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1665 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1666 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1667 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1668 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1669 | #define cx_strtous_lc(str, output, base, groupsep) cx_strtous_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1670 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1671 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1672 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1673 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1674 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1675 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1676 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1677 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1678 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1679 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1680 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1681 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1682 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1683 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1684 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1685 | #define cx_strtou_lc(str, output, base, groupsep) cx_strtou_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1686 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1687 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1688 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1689 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1690 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1691 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1692 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1693 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1694 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1695 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1696 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1697 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1698 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1699 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1700 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1701 | #define cx_strtoul_lc(str, output, base, groupsep) cx_strtoul_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1702 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1703 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1704 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1705 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1706 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1707 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1708 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1709 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1710 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1711 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1712 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1713 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1714 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1715 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1716 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1717 | #define cx_strtoull_lc(str, output, base, groupsep) cx_strtoull_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1718 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1719 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1720 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1721 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1722 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1723 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1724 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1725 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1726 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1727 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1728 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1729 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1730 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1731 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1732 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1733 | #define cx_strtou8_lc(str, output, base, groupsep) cx_strtou8_lc_(cx_strcast(str), output, base, groupsep) |
1043
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
1734 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1735 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1736 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1737 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1738 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1739 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1740 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1741 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1742 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1743 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1744 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1745 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1746 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1747 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1748 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1749 | #define cx_strtou16_lc(str, output, base, groupsep) cx_strtou16_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1750 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1751 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1752 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1753 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1754 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1755 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1756 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1757 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1758 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1759 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1760 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1761 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1762 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1763 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1764 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1765 | #define cx_strtou32_lc(str, output, base, groupsep) cx_strtou32_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1766 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1767 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1768 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1769 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1770 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1771 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1772 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1773 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1774 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1775 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1776 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1777 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1778 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1779 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1780 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1781 | #define cx_strtou64_lc(str, output, base, groupsep) cx_strtou64_lc_(cx_strcast(str), output, base, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1782 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1783 | /** |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1784 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1785 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1786 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1787 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1788 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1789 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1790 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1791 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1792 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1793 | * @param groupsep (@c const @c char*) each character in this string is treated as group separator and ignored during conversion |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1794 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1795 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1796 | */ |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1797 | #define cx_strtoz_lc(str, output, base, groupsep) cx_strtoz_lc_(cx_strcast(str), output, base, groupsep) |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1798 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1799 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1800 | * Converts a string to a number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1801 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1802 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1803 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1804 | * It sets errno to ERANGE when the target datatype is too small. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1805 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1806 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1807 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1808 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1809 | * @param str the string to convert |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1810 | * @param output a pointer to the integer variable where the result shall be stored |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1811 | * @param base 2, 8, 10, or 16 |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1812 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
1813 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
1814 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1815 | #define cx_strtos(str, output, base) cx_strtos_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1816 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1817 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1818 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1819 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1820 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1821 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1822 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1823 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1824 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1825 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1826 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1827 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1828 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1829 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1830 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1831 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1832 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1833 | #define cx_strtoi(str, output, base) cx_strtoi_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1834 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1835 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1836 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1837 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1838 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1839 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1840 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1841 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1842 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1843 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1844 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1845 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1846 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1847 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1848 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1849 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1850 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1851 | #define cx_strtol(str, output, base) cx_strtol_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1852 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1853 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1854 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1855 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1856 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1857 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1858 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1859 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1860 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1861 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1862 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1863 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1864 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1865 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1866 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1867 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1868 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1869 | #define cx_strtoll(str, output, base) cx_strtoll_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1870 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1871 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1872 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1873 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1874 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1875 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1876 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1877 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1878 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1879 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1880 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1881 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1882 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1883 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1884 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1885 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1886 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1887 | #define cx_strtoi8(str, output, base) cx_strtoi8_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1888 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1889 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1890 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1891 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1892 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1893 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1894 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1895 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1896 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1897 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1898 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1899 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1900 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1901 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1902 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1903 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1904 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1905 | #define cx_strtoi16(str, output, base) cx_strtoi16_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1906 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1907 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1908 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1909 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1910 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1911 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1912 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1913 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1914 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1915 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1916 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1917 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1918 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1919 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1920 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1921 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1922 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1923 | #define cx_strtoi32(str, output, base) cx_strtoi32_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1924 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1925 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1926 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1927 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1928 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1929 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1930 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1931 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1932 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1933 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1934 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1935 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1936 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1937 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1938 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1939 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1940 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1941 | #define cx_strtoi64(str, output, base) cx_strtoi64_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1942 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1943 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1944 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1945 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1946 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1947 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1948 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1949 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1950 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1951 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1952 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1953 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1954 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1955 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1956 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1957 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1958 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1959 | #define cx_strtoz(str, output, base) cx_strtoz_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1960 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1961 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1962 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1963 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1964 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1965 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1966 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1967 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1968 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1969 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1970 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1971 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1972 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1973 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1974 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1975 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1976 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1977 | #define cx_strtous(str, output, base) cx_strtous_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1978 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1979 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1980 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1981 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1982 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1983 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1984 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1985 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1986 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
1987 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1988 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1989 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1990 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1991 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1992 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1993 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1994 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1995 | #define cx_strtou(str, output, base) cx_strtou_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1996 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1997 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1998 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
1999 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2000 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2001 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2002 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2003 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2004 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2005 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2006 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2007 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2008 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2009 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2010 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2011 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2012 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2013 | #define cx_strtoul(str, output, base) cx_strtoul_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2014 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2015 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2016 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2017 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2018 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2019 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2020 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2021 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2022 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2023 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2024 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2025 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2026 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2027 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2028 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2029 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2030 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2031 | #define cx_strtoull(str, output, base) cx_strtoull_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2032 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2033 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2034 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2035 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2036 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2037 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2038 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2039 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2040 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2041 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2042 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2043 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2044 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2045 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2046 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2047 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2048 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2049 | #define cx_strtou8(str, output, base) cx_strtou8_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2050 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2051 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2052 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2053 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2054 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2055 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2056 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2057 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2058 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2059 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2060 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2061 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2062 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2063 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2064 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2065 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2066 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2067 | #define cx_strtou16(str, output, base) cx_strtou16_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2068 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2069 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2070 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2071 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2072 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2073 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2074 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2075 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2076 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2077 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2078 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2079 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2080 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2081 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2082 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2083 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2084 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2085 | #define cx_strtou32(str, output, base) cx_strtou32_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2086 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2087 | /** |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2088 | * Converts a string to a number. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2089 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2090 | * The function returns non-zero when conversion is not possible. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2091 | * In that case the function sets errno to EINVAL when the reason is an invalid character or an unsupported base. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2092 | * It sets errno to ERANGE when the target datatype is too small. |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2093 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2094 | * The comma character is treated as group separator and ignored during parsing. |
1162
e3bb67b72d33
remove dependency to ssize_t - fixes #552
Mike Becker <universe@uap-core.de>
parents:
1134
diff
changeset
|
2095 | * If you want to choose the set of group separators, use the @c _lc variant of this function (e.g. cx_strtoz_lc()). |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2096 | * |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2097 | * @param str the string to convert |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2098 | * @param output a pointer to the integer variable where the result shall be stored |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2099 | * @param base 2, 8, 10, or 16 |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2100 | * @retval zero success |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2101 | * @retval non-zero conversion was not possible |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2102 | */ |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2103 | #define cx_strtou64(str, output, base) cx_strtou64_lc_(cx_strcast(str), output, base, ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2104 | |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2105 | /** |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2106 | * Converts a string to a single precision floating point number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2107 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2108 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2109 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2110 | * It sets errno to ERANGE when the necessary representation would exceed the limits defined in libc's float.h. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2111 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2112 | * @param str the string to convert |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2113 | * @param output a pointer to the float variable where the result shall be stored |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2114 | * @param decsep the decimal separator |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2115 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2116 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2117 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2118 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2119 | #define cx_strtof_lc(str, output, decsep, groupsep) cx_strtof_lc_(cx_strcast(str), output, decsep, groupsep) |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2120 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2121 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2122 | * Converts a string to a double precision floating point number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2123 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2124 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2125 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2126 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2127 | * @param str the string to convert |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2128 | * @param output a pointer to the double variable where the result shall be stored |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2129 | * @param decsep the decimal separator |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2130 | * @param groupsep each character in this string is treated as group separator and ignored during conversion |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2131 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2132 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2133 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2134 | #define cx_strtod_lc(str, output, decsep, groupsep) cx_strtod_lc_(cx_strcast(str), output, decsep, groupsep) |
1043
256ea5a36b5a
add function prototypes and macros for string conversion function
Mike Becker <universe@uap-core.de>
parents:
1040
diff
changeset
|
2135 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2136 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2137 | * Converts a string to a single precision floating point number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2138 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2139 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2140 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2141 | * It sets errno to ERANGE when the necessary representation would exceed the limits defined in libc's float.h. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2142 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2143 | * The decimal separator is assumed to be a dot character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2144 | * The comma character is treated as group separator and ignored during parsing. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2145 | * If you want to choose a different format, use cx_strtof_lc(). |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2146 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2147 | * @param str the string to convert |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2148 | * @param output a pointer to the float variable where the result shall be stored |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2149 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2150 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2151 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2152 | #define cx_strtof(str, output) cx_strtof_lc_(cx_strcast(str), output, '.', ",") |
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2153 | |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2154 | /** |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2155 | * Converts a string to a double precision floating point number. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2156 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2157 | * The function returns non-zero when conversion is not possible. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2158 | * In that case the function sets errno to EINVAL when the reason is an invalid character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2159 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2160 | * The decimal separator is assumed to be a dot character. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2161 | * The comma character is treated as group separator and ignored during parsing. |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2162 | * If you want to choose a different format, use cx_strtof_lc(). |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2163 | * |
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2164 | * @param str the string to convert |
1107
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2165 | * @param output a pointer to the double variable where the result shall be stored |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2166 | * @retval zero success |
9d77c7a99441
refine docs for string.h - issue #548
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
2167 | * @retval non-zero conversion was not possible |
1044
776001e4cc96
add documentation for string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1043
diff
changeset
|
2168 | */ |
1134
60edcd57d54c
fix that some IDEs cannot resolve documentation
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
2169 | #define cx_strtod(str, output) cx_strtod_lc_(cx_strcast(str), output, '.', ",") |
1045
468c868cc8a8
add attributes to string to number conversion functions
Mike Becker <universe@uap-core.de>
parents:
1044
diff
changeset
|
2170 | |
576
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2171 | #ifdef __cplusplus |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2172 | } // extern "C" |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2173 | #endif |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2174 | |
ba0c4ff6698e
first proposal for the string header
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2175 | #endif //UCX_STRING_H |