Vuo 2.4.4
Loading...
Searching...
No Matches
VuoText.h
Go to the documentation of this file.
1
10#ifndef VuoText_h
11#define VuoText_h
12
21#ifdef __cplusplus
22extern "C"
23{
24#endif
25
26#include "VuoInteger.h"
27#include "VuoTextCase.h"
28#include "VuoTextComparison.h"
29
30#include <stdint.h>
31#include <string.h>
32#include <xlocale.h>
33
37typedef const char * VuoText;
38
39#define VuoText_SUPPORTS_COMPARISON
40#include "VuoList_VuoText.h"
41
45typedef enum
46{
47 VuoTextTruncation_Beginning,
48 VuoTextTruncation_End
50
51void VuoText_performWithUTF8Locale(void (^function)(locale_t utf8Locale));
52void VuoText_performWithSystemLocale(void (^function)(locale_t systemLocale));
53
54VuoText VuoText_makeFromJson(struct json_object * js);
55struct json_object * VuoText_getJson(const VuoText value);
56char * VuoText_getSummary(const VuoText value);
57
58VuoText VuoText_make(const char *string);
59VuoText VuoText_makeWithoutCopying(const char *string);
60VuoText VuoText_makeWithMaxLength(const void *data, const size_t maxLength);
61VuoText VuoText_makeFromCFString(const void *cfString);
62VuoText VuoText_makeFromData(const unsigned char *data, const unsigned long size);
63VuoText VuoText_makeFromUtf32(const uint32_t* data, size_t length);
64VuoText VuoText_makeFromMacRoman(const char *string);
65size_t VuoText_length(const VuoText text);
66size_t VuoText_byteCount(const VuoText text);
67bool VuoText_isEmpty(const VuoText text);
68bool VuoText_isPopulated(const VuoText text);
69bool VuoText_areEqual(const VuoText text1, const VuoText text2);
70bool VuoText_isLessThan(const VuoText text1, const VuoText text2);
71bool VuoText_isLessThanCaseInsensitive(const VuoText text1, const VuoText text2);
72bool VuoText_isLessThanNumeric(const VuoText text1, const VuoText text2);
74size_t VuoText_findFirstOccurrence(const VuoText string, const VuoText substring, const size_t startIndex);
75size_t VuoText_findLastOccurrence(const VuoText string, const VuoText substring);
76VuoList_VuoInteger VuoText_findOccurrences(const VuoText string, const VuoText substring);
77VuoText VuoText_substring(const VuoText string, int startIndex, int length);
78VuoText VuoText_insert(const VuoText string, int startIndex, const VuoText newText);
79VuoText VuoText_removeAt(const VuoText string, int startIndex, int length);
80VuoText VuoText_append(VuoText *texts, size_t textsCount);
81VuoText VuoText_appendWithSeparator(VuoList_VuoText texts, VuoText separator, bool includeEmptyParts);
82VuoText * VuoText_split(VuoText text, VuoText separator, bool includeEmptyParts, size_t *partsCount);
83VuoText VuoText_replace(VuoText subject, VuoText stringToFind, VuoText replacement);
84VuoText VuoText_truncateWithEllipsis(const VuoText subject, int maxLength, VuoTextTruncation where);
85VuoText VuoText_trim(const VuoText text);
86VuoText VuoText_changeCase(const VuoText text, VuoTextCase textCase);
87uint32_t* VuoText_getUtf32Values(const VuoText text, size_t* length);
88
89#ifndef DOXYGEN
90 #define VUOTEXT_FORMAT_ATTRIBUTE __attribute__((format(printf, 1, 2)))
91#else
93 #define VUOTEXT_FORMAT_ATTRIBUTE
94#endif
95char *VuoText_format(const char *format, ...) VUOTEXT_FORMAT_ATTRIBUTE;
96
98
101char * VuoText_getString(const VuoText value);
105
110#ifdef __cplusplus
111}
112#endif
113
114#endif