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