Vuo
2.4.1
|
A list of VuoCursor elements.
Classes | |
struct | VuoList_VuoCursor_struct |
List type. More... | |
Typedefs | |
typedef const struct VuoList_VuoCursor_struct * | VuoList_VuoCursor |
A list of VuoCursor elements. More... | |
Functions | |
VuoList_VuoCursor | VuoListCreate_VuoCursor (void) |
Creates a new list of VuoCursor elements. More... | |
VuoList_VuoCursor | VuoListCreateWithCount_VuoCursor (const unsigned long count, const VuoCursor value) |
Creates a new list of count instances of value . More... | |
VuoList_VuoCursor | VuoListCreateWithValueArray_VuoCursor (const VuoCursor *values, const unsigned long valueCount) |
Creates a new list containing the items in the C array values . More... | |
VuoList_VuoCursor | VuoListCopy_VuoCursor (const VuoList_VuoCursor list) |
Makes a shallow copy of list — its items are retained (not copied) by the new list. More... | |
static unsigned long | VuoListIndexToCArrayIndex (long index, unsigned long listCount) __attribute__((const)) |
Converts a Vuo-style [1..n] list index into a C-style [0..n-1] list index. More... | |
VuoCursor | VuoListGetValue_VuoCursor (const VuoList_VuoCursor list, const unsigned long index) |
Returns the VuoCursor at index . More... | |
VuoCursor * | VuoListGetData_VuoCursor (const VuoList_VuoCursor list) |
Returns a pointer to a C array containing the list items. More... | |
void | VuoListForeach_VuoCursor (const VuoList_VuoCursor list, bool(^function)(const VuoCursor value)) |
Applies function to each of list 's items, serially in order of index. More... | |
void | VuoListSetValue_VuoCursor (const VuoList_VuoCursor list, const VuoCursor value, const unsigned long index, bool expandListIfNeeded) |
Changes the VuoCursor at index . More... | |
void | VuoListInsertValue_VuoCursor (const VuoList_VuoCursor list, const VuoCursor value, const unsigned long index) |
Inserts the VuoCursor immediately before index . More... | |
void | VuoListPrependValue_VuoCursor (VuoList_VuoCursor list, const VuoCursor value) |
Prepends value to list . More... | |
void | VuoListAppendValue_VuoCursor (VuoList_VuoCursor list, const VuoCursor value) |
Appends value to list . More... | |
void | VuoListExchangeValues_VuoCursor (VuoList_VuoCursor list, const unsigned long indexA, const unsigned long indexB) |
Swaps the value at indexA with the value at indexB . More... | |
void | VuoListShuffle_VuoCursor (VuoList_VuoCursor list, const double chaos) |
Generates a random permutation of list . More... | |
void | VuoListReverse_VuoCursor (VuoList_VuoCursor list) |
Reverses the order of the items in list . More... | |
VuoList_VuoCursor | VuoListSubset_VuoCursor (VuoList_VuoCursor list, const signed long startIndex, const unsigned long itemCount) |
Returns a new list containing items from the original list in the range specified by startIndex and itemCount . More... | |
void | VuoListRemoveFirstValue_VuoCursor (VuoList_VuoCursor list) |
Removes the first value from list . More... | |
void | VuoListRemoveLastValue_VuoCursor (VuoList_VuoCursor list) |
Removes the last value from list . More... | |
void | VuoListRemoveAll_VuoCursor (VuoList_VuoCursor list) |
Removes all values from list . More... | |
void | VuoListRemoveValue_VuoCursor (VuoList_VuoCursor list, const unsigned long index) |
Removes the VuoCursor at index . More... | |
unsigned long | VuoListGetCount_VuoCursor (const VuoList_VuoCursor list) |
Returns the number of elements in list . More... | |
VuoList_VuoCursor | VuoList_VuoCursor_makeFromJson (struct json_object *js) |
Decodes the JSON object js to create a new value. More... | |
struct json_object * | VuoList_VuoCursor_getJson (const VuoList_VuoCursor value) |
Encodes value as a JSON object. More... | |
char * | VuoList_VuoCursor_getSummary (const VuoList_VuoCursor value) |
Produces a brief human-readable summary of value . More... | |
void | VuoList_VuoCursor_retain (VuoList_VuoCursor value) |
Retains the list. More... | |
void | VuoList_VuoCursor_release (VuoList_VuoCursor value) |
Releases the list. More... | |
char * | VuoList_VuoCursor_getString (const VuoList_VuoCursor value) |
Automatically generated function. More... | |
#define VUO_LIST_INDEX_TO_C_ARRAY_INDEX |
Definition at line 63 of file VuoList_VuoCursor.h.
typedef const struct VuoList_VuoCursor_struct * VuoList_VuoCursor |
A list of VuoCursor elements.
struct json_object * VuoList_VuoCursor_getJson | ( | const VuoList_VuoCursor | value | ) |
Encodes value
as a JSON object.
Definition at line 84 of file VuoList_VuoCursor.cc.
char * VuoList_VuoCursor_getString | ( | const VuoList_VuoCursor | value | ) |
Automatically generated function.
char * VuoList_VuoCursor_getSummary | ( | const VuoList_VuoCursor | value | ) |
Produces a brief human-readable summary of value
.
Definition at line 119 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoList_VuoCursor_makeFromJson | ( | struct json_object * | js | ) |
Decodes the JSON object js
to create a new value.
Definition at line 63 of file VuoList_VuoCursor.cc.
void VuoList_VuoCursor_release | ( | VuoList_VuoCursor | value | ) |
Releases the list.
This function is provided for use in polymorphism; it just calls VuoRelease()
.
Definition at line 580 of file VuoList_VuoCursor.cc.
void VuoList_VuoCursor_retain | ( | VuoList_VuoCursor | value | ) |
Retains the list.
This function is provided for use in polymorphism; it just calls VuoRetain()
.
Definition at line 575 of file VuoList_VuoCursor.cc.
void VuoListAppendValue_VuoCursor | ( | VuoList_VuoCursor | list, |
const VuoCursor | value | ||
) |
Appends value
to list
.
Definition at line 321 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoListCopy_VuoCursor | ( | const VuoList_VuoCursor | list | ) |
Makes a shallow copy of list
— its items are retained (not copied) by the new list.
Definition at line 187 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoListCreate_VuoCursor | ( | void | ) |
Creates a new list of VuoCursor elements.
Definition at line 154 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoListCreateWithCount_VuoCursor | ( | const unsigned long | count, |
const VuoCursor | value | ||
) |
Creates a new list of count
instances of value
.
Use this in conjunction with VuoListGetData_VuoCursor to quickly initialize a large list.
Definition at line 161 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoListCreateWithValueArray_VuoCursor | ( | const VuoCursor * | values, |
const unsigned long | valueCount | ||
) |
Creates a new list containing the items in the C array values
.
The list retains each item in values
.
The caller may discard values
after this function returns.
Definition at line 174 of file VuoList_VuoCursor.cc.
void VuoListExchangeValues_VuoCursor | ( | VuoList_VuoCursor | list, |
const unsigned long | indexA, | ||
const unsigned long | indexB | ||
) |
Swaps the value at indexA
with the value at indexB
.
Definition at line 331 of file VuoList_VuoCursor.cc.
void VuoListForeach_VuoCursor | ( | const VuoList_VuoCursor | list, |
bool(^)(const VuoCursor value) | function | ||
) |
Applies function
to each of list
's items, serially in order of index.
If function
returns false, visiting will stop immediately (possibly before all items have been visited).
Definition at line 242 of file VuoList_VuoCursor.cc.
unsigned long VuoListGetCount_VuoCursor | ( | const VuoList_VuoCursor | list | ) |
Returns the number of elements in list
.
Definition at line 566 of file VuoList_VuoCursor.cc.
VuoCursor * VuoListGetData_VuoCursor | ( | const VuoList_VuoCursor | list | ) |
Returns a pointer to a C array containing the list items.
Use this if you need a fast way to get or change multiple list items.
You can modify values in the list by changing them in this array. Just don't attempt to access beyond the list size.
The pointer becomes invalid if you modify the list size using other functions (e.g., Insert, Prepend, Append, Cut, Remove); if you use those functions, just get a new pointer by calling this function again.
If the list has no items, returns NULL.
The pointer remains owned by the list; don't free it.
Definition at line 232 of file VuoList_VuoCursor.cc.
VuoCursor VuoListGetValue_VuoCursor | ( | const VuoList_VuoCursor | list, |
const unsigned long | index | ||
) |
Returns the VuoCursor at index
.
Index values start at 1. If the list has no items, returns a default value. Attempting to access an out-of-bounds index returns the first item in the list (if the index is 0), or last item in the list (if the index is greater than the list size).
If iterating over an entire list, consider using VuoListGetData_VuoCursor or VuoListForeach_VuoCursor.
Definition at line 216 of file VuoList_VuoCursor.cc.
|
inlinestatic |
Converts a Vuo-style [1..n]
list index into a C-style [0..n-1]
list index.
If the index is less than 1, or larger than the size of the list, the returned index is clamped.
Definition at line 70 of file VuoList_VuoCursor.h.
void VuoListInsertValue_VuoCursor | ( | const VuoList_VuoCursor | list, |
const VuoCursor | value, | ||
const unsigned long | index | ||
) |
Inserts the VuoCursor
immediately before index
.
Index values start at 1. Inserting at index 0 prepends the value to the list. Inserting at an index beyond the last value in the list appends the value to the list.
Definition at line 289 of file VuoList_VuoCursor.cc.
void VuoListPrependValue_VuoCursor | ( | VuoList_VuoCursor | list, |
const VuoCursor | value | ||
) |
Prepends value
to list
.
Definition at line 311 of file VuoList_VuoCursor.cc.
void VuoListRemoveAll_VuoCursor | ( | VuoList_VuoCursor | list | ) |
Removes all values from list
.
Definition at line 540 of file VuoList_VuoCursor.cc.
void VuoListRemoveFirstValue_VuoCursor | ( | VuoList_VuoCursor | list | ) |
Removes the first value from list
.
Definition at line 512 of file VuoList_VuoCursor.cc.
void VuoListRemoveLastValue_VuoCursor | ( | VuoList_VuoCursor | list | ) |
Removes the last value from list
.
Definition at line 526 of file VuoList_VuoCursor.cc.
void VuoListRemoveValue_VuoCursor | ( | VuoList_VuoCursor | list, |
const unsigned long | index | ||
) |
Removes the VuoCursor
at index
.
Index values start at 1. Attempting to remove index 0 or an index beyond the last value in the list has no effect.
Definition at line 549 of file VuoList_VuoCursor.cc.
void VuoListReverse_VuoCursor | ( | VuoList_VuoCursor | list | ) |
Reverses the order of the items in list
.
Definition at line 435 of file VuoList_VuoCursor.cc.
void VuoListSetValue_VuoCursor | ( | const VuoList_VuoCursor | list, |
const VuoCursor | value, | ||
const unsigned long | index, | ||
bool | expandListIfNeeded | ||
) |
Changes the VuoCursor at index
.
Index values start at 1.
If expandListIfNeeded
is false: If the list has no items, nothing is changed. Attempting to change an out-of-bounds index changes the first item in the list (if the index is 0), or last item in the list (if the index is greater than the list size).
If expandListIfNeeded
is true: If the list has less than index
elements, it is expanded to accommodate the specified index
. If index
is 0, the list is resized to contain 1 item set to value
.
Definition at line 254 of file VuoList_VuoCursor.cc.
void VuoListShuffle_VuoCursor | ( | VuoList_VuoCursor | list, |
const double | chaos | ||
) |
Generates a random permutation of list
.
chaos
ranges from 0 to 1. When chaos
is 1, a full Fisher–Yates shuffle is performed. When less than 1, fewer iterations are performed.
Definition at line 414 of file VuoList_VuoCursor.cc.
VuoList_VuoCursor VuoListSubset_VuoCursor | ( | VuoList_VuoCursor | list, |
const signed long | startIndex, | ||
const unsigned long | itemCount | ||
) |
Returns a new list containing items from the original list in the range specified by startIndex
and itemCount
.
Items in the new list are retained (not copied) from the original list.
Definition at line 444 of file VuoList_VuoCursor.cc.