Vuo  2.4.0
VuoList_VuoKey.h
Go to the documentation of this file.
1
10#pragma once
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16
25// This header is generated by vuo/type/list/generateVariants.sh.
26
27#if defined(DOXYGEN) || !defined(VuoList_VuoKey_TYPE_DEFINED)
29
32typedef const struct VuoList_VuoKey_struct { void *l; } * VuoList_VuoKey;
34#endif
35
40
46VuoList_VuoKey VuoListCreateWithCount_VuoKey(const unsigned long count, const VuoKey value);
47
52
53#ifndef VUO_LIST_INDEX_TO_C_ARRAY_INDEX
54#define VUO_LIST_INDEX_TO_C_ARRAY_INDEX
60static inline unsigned long VuoListIndexToCArrayIndex(long index, unsigned long listCount) __attribute__((const));
61static inline unsigned long VuoListIndexToCArrayIndex(long index, unsigned long listCount)
62{
63 if (index <= 0)
64 return 0;
65
66 if (index > listCount)
67 return listCount - 1;
68
69 return index - 1;
70}
71#endif
72
81VuoKey VuoListGetValue_VuoKey(const VuoList_VuoKey list, const unsigned long index);
82
100
109void VuoListForeach_VuoKey(const VuoList_VuoKey list, bool (^function)(const VuoKey value));
110
121void VuoListSetValue_VuoKey(const VuoList_VuoKey list, const VuoKey value, const unsigned long index, bool expandListIfNeeded);
122
129void VuoListInsertValue_VuoKey(const VuoList_VuoKey list, const VuoKey value, const unsigned long index);
130
134void VuoListPrependValue_VuoKey(VuoList_VuoKey list, const VuoKey value);
135
139void VuoListAppendValue_VuoKey(VuoList_VuoKey list, const VuoKey value);
140
144void VuoListExchangeValues_VuoKey(VuoList_VuoKey list, const unsigned long indexA, const unsigned long indexB);
145
146#ifdef VuoKey_SUPPORTS_COMPARISON
150void VuoListSort_VuoKey(VuoList_VuoKey list);
151
157bool VuoList_VuoKey_areEqual(const VuoList_VuoKey a, const VuoList_VuoKey b);
158
162bool VuoList_VuoKey_isLessThan(const VuoList_VuoKey a, const VuoList_VuoKey b);
163#endif
164
170void VuoListShuffle_VuoKey(VuoList_VuoKey list, const double chaos);
171
176
182VuoList_VuoKey VuoListSubset_VuoKey(VuoList_VuoKey list, const signed long startIndex, const unsigned long itemCount);
183
184#ifdef VuoKey_SUPPORTS_COMPARISON
192VuoList_VuoKey VuoListRemoveDuplicates_VuoKey(VuoList_VuoKey list);
193#endif
194
199
204
209
215void VuoListRemoveValue_VuoKey(VuoList_VuoKey list, const unsigned long index);
216
220unsigned long VuoListGetCount_VuoKey(const VuoList_VuoKey list);
221
230
235
236#ifdef VuoKey_REQUIRES_INTERPROCESS_JSON
242struct json_object * VuoList_VuoKey_getInterprocessJson(const VuoList_VuoKey value);
243#endif
244
248char * VuoList_VuoKey_getSummary(const VuoList_VuoKey value);
249
251
257
262#ifdef __cplusplus
263}
264#endif