Rudiments: /home/dmuse/temp/rudiments/include/rudiments/wcharstring.h Source File

Rudiments

wcharstring.h
1 // Copyright (c) 1999-2018 David Muse
2 // See the COPYING file for more information.
3
4 #ifndef RUDIMENTS_WCHARSTRING_H
5 #define RUDIMENTS_WCHARSTRING_H
6
7 #include <rudiments/private/wcharstringincludes.h>
8
17 class RUDIMENTS_DLLSPEC wcharstring {
18 public:
19
21 static size_t length(const wchar_t *string);
22
25 static size_t size(const wchar_t *string);
26
28 static bool isNullOrEmpty(const wchar_t *string);
29
37 static bool isYes(const wchar_t *string);
38
45 static bool isNo(const wchar_t *string);
46
48 static void zero(wchar_t *str, size_t len);
49
53 static wchar_t *append(wchar_t *dest, const wchar_t *source);
54
58 static wchar_t *append(wchar_t *dest, const wchar_t *source,
59 size_t size);
60
64 static wchar_t *append(wchar_t *dest, int64_t number);
65
69 static wchar_t *append(wchar_t *dest, uint64_t number);
70
74 static wchar_t *append(wchar_t *dest, double number);
75
80 static wchar_t *append(wchar_t *dest, double number,
81 uint16_t scale);
82
87 static wchar_t *append(wchar_t *dest, double number,
88 uint16_t precision,
89 uint16_t scale);
90
94 static wchar_t *copy(wchar_t *dest, const wchar_t *source);
95
99 static wchar_t *copy(wchar_t *dest,
100 const wchar_t *source, size_t size);
101
106 static wchar_t *copy(wchar_t *dest, size_t location,
107 const wchar_t *source);
108
113 static wchar_t *copy(wchar_t *dest, size_t location,
114 const wchar_t *source, size_t size);
115
120 static wchar_t *safeCopy(wchar_t *dest, size_t destlen,
121 const wchar_t *source);
122
127 static wchar_t *safeCopy(wchar_t *dest,
128 size_t destlen,
129 const wchar_t *source,
130 size_t sourcesize);
131
134 static int32_t compare(const wchar_t *str1,
135 const wchar_t *str2);
136
139 static int32_t compare(const wchar_t *str1,
140 const wchar_t *str2,
141 size_t size);
142
145 static int32_t compareIgnoringCase(const wchar_t *str1,
146 const wchar_t *str2);
147
151 static int32_t compareIgnoringCase(const wchar_t *str1,
152 const wchar_t *str2,
153 size_t size);
154
159 static bool inSet(const wchar_t *str,
160 const wchar_t * const *set);
161
166 static bool inSetIgnoringCase(const wchar_t *str,
167 const wchar_t * const *set);
168
171 static bool contains(const wchar_t *haystack,
172 const wchar_t *needle);
173
176 static bool containsIgnoringCase(const wchar_t *haystack,
177 const wchar_t *needle);
178
181 static bool contains(const wchar_t *haystack,
182 wchar_t needle);
183
186 static bool containsIgnoringCase(const wchar_t *haystack,
187 wchar_t needle);
188
191 static bool startsWith(const wchar_t *haystack,
192 const wchar_t *needle);
193
196 static bool endsWith(const wchar_t *haystack,
197 const wchar_t *needle);
198
201 static const wchar_t *findFirst(const wchar_t *haystack,
202 const wchar_t *needle);
203
206 static const wchar_t *findFirstIgnoringCase(
207 const wchar_t *haystack,
208 const wchar_t *needle);
209
212 static const wchar_t *findFirst(const wchar_t *haystack,
213 wchar_t needle);
214
217 static const wchar_t *findFirstIgnoringCase(
218 const wchar_t *haystack,
219 wchar_t needle);
220
224 static const wchar_t *findFirstOrEnd(const wchar_t *haystack,
225 const wchar_t *needle);
226
230 static const wchar_t *findFirstOrEndIgnoringCase(
231 const wchar_t *haystack,
232 const wchar_t *needle);
233
237 static const wchar_t *findFirstOrEnd(const wchar_t *haystack,
238 wchar_t needle);
239
243 static const wchar_t *findFirstOrEndIgnoringCase(
244 const wchar_t *haystack,
245 wchar_t needle);
246
249 static const wchar_t *findLast(const wchar_t *haystack,
250 const wchar_t *needle);
251
254 static const wchar_t *findLast(const wchar_t *haystack,
255 wchar_t needle);
256
259 static wchar_t *findFirst(wchar_t *haystack,
260 const wchar_t *needle);
261
264 static wchar_t *findFirstIgnoringCase(wchar_t *haystack,
265 const wchar_t *needle);
266
269 static wchar_t *findFirst(wchar_t *haystack, wchar_t needle);
270
273 static wchar_t *findFirstIgnoringCase(wchar_t *haystack,
274 wchar_t needle);
275
279 static wchar_t *findFirstOrEnd(wchar_t *haystack,
280 const wchar_t *needle);
281
285 static wchar_t *findFirstOrEndIgnoringCase(wchar_t *haystack,
286 const wchar_t *needle);
287
290 static wchar_t *findLast(wchar_t *haystack,
291 const wchar_t *needle);
292
295 static const wchar_t *findLastIgnoringCase(
296 const wchar_t *haystack,
297 const wchar_t *needle);
298
301 static wchar_t *findLast(wchar_t *haystack, wchar_t needle);
302
305 static const wchar_t *findLastIgnoringCase(
306 const wchar_t *haystack,
307 wchar_t needle);
308
312 static const wchar_t *findFirstOfSet(const wchar_t *haystack,
313 const wchar_t *set);
314
318 static wchar_t *findFirstOfSet(wchar_t *haystack,
319 const wchar_t *set);
320
325 static const wchar_t *findFirstOfSetOrEnd(
326 const wchar_t *haystack,
327 const wchar_t *set);
328
333 static wchar_t *findFirstOfSetOrEnd(
334 wchar_t *haystack,
335 const wchar_t *set);
336
340 static const wchar_t *findLastOfSet(const wchar_t *haystack,
341 const wchar_t *set);
342
346 static wchar_t *findLastOfSet(wchar_t *haystack,
347 const wchar_t *set);
348
353 static const wchar_t *findLastOfSetOrEnd(
354 const wchar_t *haystack,
355 const wchar_t *set);
356
361 static wchar_t *findLastOfSetOrEnd(
362 wchar_t *haystack,
363 const wchar_t *set);
364
369 static wchar_t *before(const wchar_t *str,
370 const wchar_t *delimiter);
371
376 static wchar_t *between(const wchar_t *str,
377 const wchar_t *start,
378 const wchar_t *end);
379
385 static wchar_t *after(const wchar_t *str,
386 const wchar_t *delimiter);
387
391 static size_t lengthContainingSet(const wchar_t *haystack,
392 const wchar_t *set);
393
397 static size_t lengthNotContainingSet(const wchar_t *haystack,
398 const wchar_t *set);
399
404 static wchar_t *duplicate(const wchar_t *str);
405
411 static wchar_t *duplicate(const char *str, size_t len);
412
418 static wchar_t *duplicate(const char *str);
419
425 static wchar_t *duplicate(const wchar_t *str, size_t len);
426
428 static void upper(wchar_t *str);
429
431 static void lower(wchar_t *str);
432
435 static void capitalize(wchar_t *str);
436
438 static void rightTrim(wchar_t *str);
439
442 static void rightTrim(wchar_t *str, wchar_t character);
443
445 static void leftTrim(wchar_t *str);
446
449 static void leftTrim(wchar_t *str, wchar_t character);
450
452 static void bothTrim(wchar_t *str);
453
455 static void bothTrim(wchar_t *str, wchar_t character);
456
460 static bool strip(wchar_t *str, wchar_t character);
461
465 static bool strip(wchar_t *str1, const wchar_t *str2);
466
470 static bool stripSet(wchar_t *str1, const wchar_t *set);
471
474 static void replace(wchar_t *str,
475 wchar_t oldchar,
476 wchar_t newchar);
477
480 static void replace(wchar_t *str,
481 const wchar_t *oldchars,
482 wchar_t newchar);
483
487 static wchar_t *replace(const wchar_t *str,
488 const wchar_t *oldstr,
489 const wchar_t *newstr);
490
498 static wchar_t *replace(const wchar_t *str,
499 const wchar_t * const *oldstrset,
500 ssize_t *oldstrlen,
501 const wchar_t * const *newstrset);
502
505 static uint16_t integerLength(int16_t number);
506
509 static uint16_t integerLength(int32_t number);
510
513 static uint16_t integerLength(int64_t number);
514
517 static uint16_t integerLength(uint16_t number);
518
521 static uint16_t integerLength(uint32_t number);
522
525 static uint16_t integerLength(uint64_t number);
526
529 static bool isInteger(const wchar_t *val);
530
533 static bool isInteger(const wchar_t *val, int32_t size);
534
537 static bool isNumber(const wchar_t *val);
538
541 static bool isNumber(const wchar_t *val, int32_t size);
542
546 static wchar_t *parseNumber(int16_t number);
547
551 static wchar_t *parseNumber(uint16_t number);
552
556 static wchar_t *parseNumber(int16_t number,
557 uint16_t zeropadding);
558
562 static wchar_t *parseNumber(uint16_t number,
563 uint16_t zeropadding);
564
568 static wchar_t *parseNumber(int32_t number);
569
573 static wchar_t *parseNumber(uint32_t number);
574
578 static wchar_t *parseNumber(int32_t number,
579 uint16_t zeropadding);
580
584 static wchar_t *parseNumber(uint32_t number,
585 uint16_t zeropadding);
586
590 static wchar_t *parseNumber(int64_t number);
591
595 static wchar_t *parseNumber(uint64_t number);
596
600 static wchar_t *parseNumber(int64_t number,
601 uint16_t zeropadding);
602
606 static wchar_t *parseNumber(uint64_t number,
607 uint16_t zeropadding);
608
609
613 static wchar_t *parseNumber(float number);
614
618 static wchar_t *parseNumber(float number,
619 uint16_t scale);
620
624 static wchar_t *parseNumber(float number,
625 uint16_t precision,
626 uint16_t scale);
627
631 static wchar_t *parseNumber(double number);
632
636 static wchar_t *parseNumber(double number,
637 uint16_t scale);
638
642 static wchar_t *parseNumber(double number,
643 uint16_t precision,
644 uint16_t scale);
645
649 static wchar_t *parseNumber(long double number);
650
654 static wchar_t *parseNumber(long double number,
655 uint16_t scale);
656
660 static wchar_t *parseNumber(long double number,
661 uint16_t precision,
662 uint16_t scale);
663
665 static int64_t toInteger(const wchar_t *string);
666
670 static int64_t toInteger(const wchar_t *string,
671 const wchar_t **endptr);
672
674 static int64_t toInteger(const wchar_t *string, int32_t base);
675
679 static int64_t toInteger(const wchar_t *string,
680 const wchar_t **endptr,
681 int32_t base);
682
684 static uint64_t toUnsignedInteger(
685 const wchar_t *string);
686
690 static uint64_t toUnsignedInteger(const wchar_t *string,
691 const wchar_t **endptr);
692
695 static uint64_t toUnsignedInteger(const wchar_t *string,
696 int32_t base);
697
702 static uint64_t toUnsignedInteger(const wchar_t *string,
703 const wchar_t **endptr,
704 int32_t base);
705
706
708 static long double toFloat(const wchar_t *string);
709
720 static long double toFloatC(const wchar_t *string);
721
725 static long double toFloat(const wchar_t *string,
726 const wchar_t **endptr);
727
730 static int64_t convertAmount(const wchar_t *amount);
731
734 static wchar_t *convertAmount(int64_t amount);
735
741 static wchar_t *convertAmount(int64_t amount,
742 uint16_t padding);
743
744
749 static wchar_t *escape(const wchar_t *input,
750 const wchar_t *characters);
751
756 static wchar_t *unescape(const wchar_t *input);
757
761 static void escape(const wchar_t *input, uint64_t inputsize,
762 wchar_t **output, uint64_t *outputsize,
763 const wchar_t *characters);
764
768 static void unescape(const wchar_t *input,
769 uint64_t inputsize,
770 wchar_t **output,
771 uint64_t *outputsize);
772
777 static void leftJustify(wchar_t *str, int32_t len);
778
783 static void rightJustify(wchar_t *str, int32_t len);
784
788 static void center(wchar_t *str, int32_t len);
789
796 static wchar_t *pad(const wchar_t *string,
797 wchar_t padchar,
798 int16_t direction,
799 uint64_t totallength);
800
809 static void split(const wchar_t *string,
810 ssize_t stringlength,
811 const wchar_t *delimiter,
812 ssize_t delimiterlength,
813 bool collapse,
814 wchar_t ***list,
815 uint64_t *listlength);
816
824 static void split(const wchar_t *string,
825 const wchar_t *delimiter,
826 ssize_t delimiterlength,
827 bool collapse,
828 wchar_t ***list,
829 uint64_t *listlength);
830
838 static void split(const wchar_t *string,
839 ssize_t stringlength,
840 const wchar_t *delimiter,
841 bool collapse,
842 wchar_t ***list,
843 uint64_t *listlength);
844
852 static void split(const wchar_t *string,
853 const wchar_t *delimiter,
854 bool collapse,
855 wchar_t ***list,
856 uint64_t *listlength);
857
861 static wchar_t *subString(const wchar_t *str,
862 size_t start, size_t end);
863
867 static wchar_t *subString(const wchar_t *str, size_t start);
868
871 static wchar_t *insertString(const wchar_t *dest,
872 const wchar_t *src,
873 uint64_t index);
874
892 static ssize_t printf(wchar_t *buffer, size_t len,
893 const wchar_t *format, ...);
894
915 static ssize_t printf(wchar_t *buffer, size_t len,
916 const wchar_t *format,
917 va_list *argp);
918
930 static ssize_t printf(wchar_t **buffer,
931 const wchar_t *format, ...);
932
944 static ssize_t printf(wchar_t **buffer,
945 const wchar_t *format,
946 va_list *argp);
947
948 #include <rudiments/private/wcharstring.h>
949 };
950
951 #endif
character
Definition: character.h:11
input
Definition: input.h:9
output
Definition: output.h:9
wcharstring
Definition: wcharstring.h:17
wcharstring::parseNumber
static wchar_t * parseNumber(int32_t number, uint16_t zeropadding)
wcharstring::parseNumber
static wchar_t * parseNumber(int64_t number, uint16_t zeropadding)
wcharstring::lower
static void lower(wchar_t *str)
wcharstring::parseNumber
static wchar_t * parseNumber(double number, uint16_t precision, uint16_t scale)
wcharstring::duplicate
static wchar_t * duplicate(const wchar_t *str, size_t len)
wcharstring::convertAmount
static wchar_t * convertAmount(int64_t amount, uint16_t padding)
wcharstring::replace
static wchar_t * replace(const wchar_t *str, const wchar_t *oldstr, const wchar_t *newstr)
wcharstring::compareIgnoringCase
static int32_t compareIgnoringCase(const wchar_t *str1, const wchar_t *str2, size_t size)
wcharstring::center
static void center(wchar_t *str, int32_t len)
wcharstring::isYes
static bool isYes(const wchar_t *string)
wcharstring::toUnsignedInteger
static uint64_t toUnsignedInteger(const wchar_t *string, const wchar_t **endptr)
wcharstring::parseNumber
static wchar_t * parseNumber(long double number)
wcharstring::rightJustify
static void rightJustify(wchar_t *str, int32_t len)
wcharstring::compare
static int32_t compare(const wchar_t *str1, const wchar_t *str2, size_t size)
wcharstring::unescape
static wchar_t * unescape(const wchar_t *input)
wcharstring::findFirst
static const wchar_t * findFirst(const wchar_t *haystack, const wchar_t *needle)
wcharstring::parseNumber
static wchar_t * parseNumber(long double number, uint16_t precision, uint16_t scale)
wcharstring::findFirstIgnoringCase
static const wchar_t * findFirstIgnoringCase(const wchar_t *haystack, const wchar_t *needle)
wcharstring::split
static void split(const wchar_t *string, const wchar_t *delimiter, bool collapse, wchar_t ***list, uint64_t *listlength)
wcharstring::parseNumber
static wchar_t * parseNumber(int32_t number)
wcharstring::findFirstOfSetOrEnd
static const wchar_t * findFirstOfSetOrEnd(const wchar_t *haystack, const wchar_t *set)
wcharstring::findFirstOrEnd
static const wchar_t * findFirstOrEnd(const wchar_t *haystack, const wchar_t *needle)
wcharstring::integerLength
static uint16_t integerLength(uint32_t number)
wcharstring::findFirstIgnoringCase
static wchar_t * findFirstIgnoringCase(wchar_t *haystack, wchar_t needle)
wcharstring::findFirst
static const wchar_t * findFirst(const wchar_t *haystack, wchar_t needle)
wcharstring::strip
static bool strip(wchar_t *str, wchar_t character)
wcharstring::leftTrim
static void leftTrim(wchar_t *str)
wcharstring::integerLength
static uint16_t integerLength(int32_t number)
wcharstring::length
static size_t length(const wchar_t *string)
wcharstring::findLast
static const wchar_t * findLast(const wchar_t *haystack, wchar_t needle)
wcharstring::parseNumber
static wchar_t * parseNumber(float number)
wcharstring::before
static wchar_t * before(const wchar_t *str, const wchar_t *delimiter)
wcharstring::append
static wchar_t * append(wchar_t *dest, int64_t number)
wcharstring::parseNumber
static wchar_t * parseNumber(double number, uint16_t scale)
wcharstring::append
static wchar_t * append(wchar_t *dest, double number, uint16_t precision, uint16_t scale)
wcharstring::startsWith
static bool startsWith(const wchar_t *haystack, const wchar_t *needle)
wcharstring::compare
static int32_t compare(const wchar_t *str1, const wchar_t *str2)
wcharstring::parseNumber
static wchar_t * parseNumber(uint16_t number, uint16_t zeropadding)
wcharstring::findFirst
static wchar_t * findFirst(wchar_t *haystack, wchar_t needle)
wcharstring::bothTrim
static void bothTrim(wchar_t *str, wchar_t character)
wcharstring::append
static wchar_t * append(wchar_t *dest, const wchar_t *source, size_t size)
wcharstring::rightTrim
static void rightTrim(wchar_t *str)
wcharstring::findFirstOrEnd
static const wchar_t * findFirstOrEnd(const wchar_t *haystack, wchar_t needle)
wcharstring::findFirstIgnoringCase
static const wchar_t * findFirstIgnoringCase(const wchar_t *haystack, wchar_t needle)
wcharstring::subString
static wchar_t * subString(const wchar_t *str, size_t start, size_t end)
wcharstring::after
static wchar_t * after(const wchar_t *str, const wchar_t *delimiter)
wcharstring::printf
static ssize_t printf(wchar_t *buffer, size_t len, const wchar_t *format, va_list *argp)
wcharstring::printf
static ssize_t printf(wchar_t *buffer, size_t len, const wchar_t *format,...)
wcharstring::isNumber
static bool isNumber(const wchar_t *val)
wcharstring::escape
static void escape(const wchar_t *input, uint64_t inputsize, wchar_t **output, uint64_t *outputsize, const wchar_t *characters)
wcharstring::findLast
static const wchar_t * findLast(const wchar_t *haystack, const wchar_t *needle)
wcharstring::safeCopy
static wchar_t * safeCopy(wchar_t *dest, size_t destlen, const wchar_t *source, size_t sourcesize)
wcharstring::findLastOfSetOrEnd
static const wchar_t * findLastOfSetOrEnd(const wchar_t *haystack, const wchar_t *set)
wcharstring::rightTrim
static void rightTrim(wchar_t *str, wchar_t character)
wcharstring::copy
static wchar_t * copy(wchar_t *dest, size_t location, const wchar_t *source, size_t size)
wcharstring::convertAmount
static wchar_t * convertAmount(int64_t amount)
wcharstring::isInteger
static bool isInteger(const wchar_t *val, int32_t size)
wcharstring::parseNumber
static wchar_t * parseNumber(float number, uint16_t scale)
wcharstring::convertAmount
static int64_t convertAmount(const wchar_t *amount)
wcharstring::replace
static void replace(wchar_t *str, const wchar_t *oldchars, wchar_t newchar)
wcharstring::findLastOfSet
static const wchar_t * findLastOfSet(const wchar_t *haystack, const wchar_t *set)
wcharstring::pad
static wchar_t * pad(const wchar_t *string, wchar_t padchar, int16_t direction, uint64_t totallength)
wcharstring::escape
static wchar_t * escape(const wchar_t *input, const wchar_t *characters)
wcharstring::integerLength
static uint16_t integerLength(uint16_t number)
wcharstring::replace
static wchar_t * replace(const wchar_t *str, const wchar_t *const *oldstrset, ssize_t *oldstrlen, const wchar_t *const *newstrset)
wcharstring::append
static wchar_t * append(wchar_t *dest, double number)
wcharstring::contains
static bool contains(const wchar_t *haystack, const wchar_t *needle)
wcharstring::toFloat
static long double toFloat(const wchar_t *string)
wcharstring::findFirstOrEndIgnoringCase
static wchar_t * findFirstOrEndIgnoringCase(wchar_t *haystack, const wchar_t *needle)
wcharstring::toFloatC
static long double toFloatC(const wchar_t *string)
wcharstring::split
static void split(const wchar_t *string, ssize_t stringlength, const wchar_t *delimiter, bool collapse, wchar_t ***list, uint64_t *listlength)
wcharstring::parseNumber
static wchar_t * parseNumber(int16_t number, uint16_t zeropadding)
wcharstring::integerLength
static uint16_t integerLength(int64_t number)
wcharstring::findFirstOfSet
static wchar_t * findFirstOfSet(wchar_t *haystack, const wchar_t *set)
wcharstring::findFirstOrEnd
static wchar_t * findFirstOrEnd(wchar_t *haystack, const wchar_t *needle)
wcharstring::inSetIgnoringCase
static bool inSetIgnoringCase(const wchar_t *str, const wchar_t *const *set)
wcharstring::findLastOfSet
static wchar_t * findLastOfSet(wchar_t *haystack, const wchar_t *set)
wcharstring::replace
static void replace(wchar_t *str, wchar_t oldchar, wchar_t newchar)
wcharstring::toFloat
static long double toFloat(const wchar_t *string, const wchar_t **endptr)
wcharstring::toInteger
static int64_t toInteger(const wchar_t *string, const wchar_t **endptr)
wcharstring::parseNumber
static wchar_t * parseNumber(float number, uint16_t precision, uint16_t scale)
wcharstring::duplicate
static wchar_t * duplicate(const char *str, size_t len)
wcharstring::subString
static wchar_t * subString(const wchar_t *str, size_t start)
wcharstring::append
static wchar_t * append(wchar_t *dest, const wchar_t *source)
wcharstring::duplicate
static wchar_t * duplicate(const wchar_t *str)
wcharstring::parseNumber
static wchar_t * parseNumber(int64_t number)
wcharstring::contains
static bool contains(const wchar_t *haystack, wchar_t needle)
wcharstring::append
static wchar_t * append(wchar_t *dest, double number, uint16_t scale)
wcharstring::size
static size_t size(const wchar_t *string)
wcharstring::findLastIgnoringCase
static const wchar_t * findLastIgnoringCase(const wchar_t *haystack, const wchar_t *needle)
wcharstring::parseNumber
static wchar_t * parseNumber(uint32_t number)
wcharstring::containsIgnoringCase
static bool containsIgnoringCase(const wchar_t *haystack, wchar_t needle)
wcharstring::findFirstOfSetOrEnd
static wchar_t * findFirstOfSetOrEnd(wchar_t *haystack, const wchar_t *set)
wcharstring::parseNumber
static wchar_t * parseNumber(uint16_t number)
wcharstring::findFirstIgnoringCase
static wchar_t * findFirstIgnoringCase(wchar_t *haystack, const wchar_t *needle)
wcharstring::parseNumber
static wchar_t * parseNumber(uint64_t number, uint16_t zeropadding)
wcharstring::toUnsignedInteger
static uint64_t toUnsignedInteger(const wchar_t *string, const wchar_t **endptr, int32_t base)
wcharstring::findLast
static wchar_t * findLast(wchar_t *haystack, const wchar_t *needle)
wcharstring::integerLength
static uint16_t integerLength(int16_t number)
wcharstring::insertString
static wchar_t * insertString(const wchar_t *dest, const wchar_t *src, uint64_t index)
wcharstring::inSet
static bool inSet(const wchar_t *str, const wchar_t *const *set)
wcharstring::isNo
static bool isNo(const wchar_t *string)
wcharstring::isNullOrEmpty
static bool isNullOrEmpty(const wchar_t *string)
wcharstring::lengthContainingSet
static size_t lengthContainingSet(const wchar_t *haystack, const wchar_t *set)
wcharstring::safeCopy
static wchar_t * safeCopy(wchar_t *dest, size_t destlen, const wchar_t *source)
wcharstring::split
static void split(const wchar_t *string, const wchar_t *delimiter, ssize_t delimiterlength, bool collapse, wchar_t ***list, uint64_t *listlength)
wcharstring::toUnsignedInteger
static uint64_t toUnsignedInteger(const wchar_t *string)
wcharstring::append
static wchar_t * append(wchar_t *dest, uint64_t number)
wcharstring::compareIgnoringCase
static int32_t compareIgnoringCase(const wchar_t *str1, const wchar_t *str2)
wcharstring::lengthNotContainingSet
static size_t lengthNotContainingSet(const wchar_t *haystack, const wchar_t *set)
wcharstring::leftJustify
static void leftJustify(wchar_t *str, int32_t len)
wcharstring::split
static void split(const wchar_t *string, ssize_t stringlength, const wchar_t *delimiter, ssize_t delimiterlength, bool collapse, wchar_t ***list, uint64_t *listlength)
wcharstring::findLast
static wchar_t * findLast(wchar_t *haystack, wchar_t needle)
wcharstring::findFirst
static wchar_t * findFirst(wchar_t *haystack, const wchar_t *needle)
wcharstring::capitalize
static void capitalize(wchar_t *str)
wcharstring::isInteger
static bool isInteger(const wchar_t *val)
wcharstring::endsWith
static bool endsWith(const wchar_t *haystack, const wchar_t *needle)
wcharstring::isNumber
static bool isNumber(const wchar_t *val, int32_t size)
wcharstring::toInteger
static int64_t toInteger(const wchar_t *string, const wchar_t **endptr, int32_t base)
wcharstring::parseNumber
static wchar_t * parseNumber(uint32_t number, uint16_t zeropadding)
wcharstring::between
static wchar_t * between(const wchar_t *str, const wchar_t *start, const wchar_t *end)
wcharstring::bothTrim
static void bothTrim(wchar_t *str)
wcharstring::stripSet
static bool stripSet(wchar_t *str1, const wchar_t *set)
wcharstring::integerLength
static uint16_t integerLength(uint64_t number)
wcharstring::toInteger
static int64_t toInteger(const wchar_t *string)
wcharstring::copy
static wchar_t * copy(wchar_t *dest, const wchar_t *source, size_t size)
wcharstring::parseNumber
static wchar_t * parseNumber(int16_t number)
wcharstring::findLastOfSetOrEnd
static wchar_t * findLastOfSetOrEnd(wchar_t *haystack, const wchar_t *set)
wcharstring::upper
static void upper(wchar_t *str)
wcharstring::copy
static wchar_t * copy(wchar_t *dest, size_t location, const wchar_t *source)
wcharstring::unescape
static void unescape(const wchar_t *input, uint64_t inputsize, wchar_t **output, uint64_t *outputsize)
wcharstring::parseNumber
static wchar_t * parseNumber(long double number, uint16_t scale)
wcharstring::printf
static ssize_t printf(wchar_t **buffer, const wchar_t *format,...)
wcharstring::parseNumber
static wchar_t * parseNumber(uint64_t number)
wcharstring::printf
static ssize_t printf(wchar_t **buffer, const wchar_t *format, va_list *argp)
wcharstring::copy
static wchar_t * copy(wchar_t *dest, const wchar_t *source)
wcharstring::leftTrim
static void leftTrim(wchar_t *str, wchar_t character)
wcharstring::findFirstOrEndIgnoringCase
static const wchar_t * findFirstOrEndIgnoringCase(const wchar_t *haystack, const wchar_t *needle)
wcharstring::strip
static bool strip(wchar_t *str1, const wchar_t *str2)
wcharstring::toInteger
static int64_t toInteger(const wchar_t *string, int32_t base)
wcharstring::findFirstOfSet
static const wchar_t * findFirstOfSet(const wchar_t *haystack, const wchar_t *set)
wcharstring::duplicate
static wchar_t * duplicate(const char *str)
wcharstring::toUnsignedInteger
static uint64_t toUnsignedInteger(const wchar_t *string, int32_t base)
wcharstring::findFirstOrEndIgnoringCase
static const wchar_t * findFirstOrEndIgnoringCase(const wchar_t *haystack, wchar_t needle)
wcharstring::parseNumber
static wchar_t * parseNumber(double number)
wcharstring::findLastIgnoringCase
static const wchar_t * findLastIgnoringCase(const wchar_t *haystack, wchar_t needle)
wcharstring::containsIgnoringCase
static bool containsIgnoringCase(const wchar_t *haystack, const wchar_t *needle)
wcharstring::zero
static void zero(wchar_t *str, size_t len)