Vuo 2.4.4
Loading...
Searching...
No Matches
Classes
VuoList_VuoAnchor.h File Reference

Description

VuoList interface.

Definition in file VuoList_VuoAnchor.h.

Go to the source code of this file.

Classes

struct  VuoList_VuoAnchor
 An ordered list of items, all of the same type. More...
 

Functions

VuoList_VuoAnchor VuoListCreate_VuoAnchor (void)
 Creates a new list of VuoAnchor items.
 
VuoList_VuoAnchor VuoListCreateWithCount_VuoAnchor (const unsigned long count, const VuoAnchor value)
 Creates a new list of count instances of value.
 
VuoList_VuoAnchor VuoListCreateWithValueArray_VuoAnchor (const VuoAnchor *values, const unsigned long valueCount)
 Creates a new list containing the items in the C array values.
 
VuoList_VuoAnchor VuoListCopy_VuoAnchor (const VuoList_VuoAnchor list)
 Makes a shallow copy of list — its items are retained (not copied) by the new list.
 
VuoAnchor VuoListGetValue_VuoAnchor (const VuoList_VuoAnchor list, const unsigned long index)
 Returns the item at index.
 
VuoAnchorVuoListGetData_VuoAnchor (const VuoList_VuoAnchor list)
 Returns a pointer to a C array containing the list items.
 
void VuoListForeach_VuoAnchor (const VuoList_VuoAnchor list, bool(^function)(const VuoAnchor value))
 Applies function to each item in list, serially in order of index.
 
void VuoListSetValue_VuoAnchor (const VuoList_VuoAnchor list, const VuoAnchor value, const unsigned long index, bool expandListIfNeeded)
 Changes the item at index.
 
void VuoListInsertValue_VuoAnchor (const VuoList_VuoAnchor list, const VuoAnchor value, const unsigned long index)
 Inserts value immediately before index.
 
void VuoListPrependValue_VuoAnchor (VuoList_VuoAnchor list, const VuoAnchor value)
 Prepends value to list.
 
void VuoListAppendValue_VuoAnchor (VuoList_VuoAnchor list, const VuoAnchor value)
 Appends value to list.
 
void VuoListExchangeValues_VuoAnchor (VuoList_VuoAnchor list, const unsigned long indexA, const unsigned long indexB)
 Swaps the value at indexA with the value at indexB.
 
void VuoListShuffle_VuoAnchor (VuoList_VuoAnchor list, const double chaos)
 Generates a random permutation of list.
 
void VuoListReverse_VuoAnchor (VuoList_VuoAnchor list)
 Reverses the order of the items in list.
 
VuoList_VuoAnchor VuoListSubset_VuoAnchor (VuoList_VuoAnchor 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.
 
void VuoListRemoveFirstValue_VuoAnchor (VuoList_VuoAnchor list)
 Removes the first item from list.
 
void VuoListRemoveLastValue_VuoAnchor (VuoList_VuoAnchor list)
 Removes the last item from list.
 
void VuoListRemoveAll_VuoAnchor (VuoList_VuoAnchor list)
 Removes all items from list.
 
void VuoListRemoveValue_VuoAnchor (VuoList_VuoAnchor list, const unsigned long index)
 Removes the item at index.
 
unsigned long VuoListGetCount_VuoAnchor (const VuoList_VuoAnchor list)
 Returns the number of items in list.
 
VuoList_VuoAnchor VuoList_VuoAnchor_makeFromJson (struct json_object *js)
 Decodes the JSON object js to create a new list.
 
struct json_object * VuoList_VuoAnchor_getJson (const VuoList_VuoAnchor list)
 Encodes list as a JSON object.
 
char * VuoList_VuoAnchor_getSummary (const VuoList_VuoAnchor list)
 Produces a brief human-readable summary of list.
 
void VuoList_VuoAnchor_retain (VuoList_VuoAnchor list)
 Retains the list.
 
void VuoList_VuoAnchor_release (VuoList_VuoAnchor list)
 Releases the list.
 
char * VuoList_VuoAnchor_getString (const VuoList_VuoAnchor list)
 Automatically generated function.
 

Function Documentation

◆ VuoList_VuoAnchor_getJson()

struct json_object * VuoList_VuoAnchor_getJson ( const VuoList_VuoAnchor  list)

Encodes list as a JSON object.

◆ VuoList_VuoAnchor_getString()

char * VuoList_VuoAnchor_getString ( const VuoList_VuoAnchor  list)

Automatically generated function.

◆ VuoList_VuoAnchor_getSummary()

char * VuoList_VuoAnchor_getSummary ( const VuoList_VuoAnchor  list)

Produces a brief human-readable summary of list.

◆ VuoList_VuoAnchor_makeFromJson()

VuoList_VuoAnchor VuoList_VuoAnchor_makeFromJson ( struct json_object *  js)

Decodes the JSON object js to create a new list.

Example:
["uno", "dos", "tres", "catorce"]

◆ VuoList_VuoAnchor_release()

void VuoList_VuoAnchor_release ( VuoList_VuoAnchor  list)

Releases the list.

This function is provided for use in polymorphism; it just calls VuoRelease().

◆ VuoList_VuoAnchor_retain()

void VuoList_VuoAnchor_retain ( VuoList_VuoAnchor  list)

Retains the list.

This function is provided for use in polymorphism; it just calls VuoRetain().

◆ VuoListAppendValue_VuoAnchor()

void VuoListAppendValue_VuoAnchor ( VuoList_VuoAnchor  list,
const VuoAnchor  value 
)

Appends value to list.

◆ VuoListCopy_VuoAnchor()

VuoList_VuoAnchor VuoListCopy_VuoAnchor ( const VuoList_VuoAnchor  list)

Makes a shallow copy of list — its items are retained (not copied) by the new list.

◆ VuoListCreate_VuoAnchor()

VuoList_VuoAnchor VuoListCreate_VuoAnchor ( void  )

Creates a new list of VuoAnchor items.

◆ VuoListCreateWithCount_VuoAnchor()

VuoList_VuoAnchor VuoListCreateWithCount_VuoAnchor ( const unsigned long  count,
const VuoAnchor  value 
)

Creates a new list of count instances of value.

Use this in conjunction with VuoListGetData_VuoAnchor to quickly initialize a large list.

◆ VuoListCreateWithValueArray_VuoAnchor()

VuoList_VuoAnchor VuoListCreateWithValueArray_VuoAnchor ( const VuoAnchor 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.

◆ VuoListExchangeValues_VuoAnchor()

void VuoListExchangeValues_VuoAnchor ( VuoList_VuoAnchor  list,
const unsigned long  indexA,
const unsigned long  indexB 
)

Swaps the value at indexA with the value at indexB.

◆ VuoListForeach_VuoAnchor()

void VuoListForeach_VuoAnchor ( const VuoList_VuoAnchor  list,
bool(^)(const VuoAnchor value)  function 
)

Applies function to each item in list, serially in order of index.

If function returns false, visiting will stop immediately (possibly before all items have been visited).

Changed in Vuo 2.0.0:
New.

◆ VuoListGetCount_VuoAnchor()

unsigned long VuoListGetCount_VuoAnchor ( const VuoList_VuoAnchor  list)

Returns the number of items in list.

◆ VuoListGetData_VuoAnchor()

VuoAnchor * VuoListGetData_VuoAnchor ( const VuoList_VuoAnchor  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.

◆ VuoListGetValue_VuoAnchor()

VuoAnchor VuoListGetValue_VuoAnchor ( const VuoList_VuoAnchor  list,
const unsigned long  index 
)

Returns the item at index.

Index values start at 1.

If the list has no items, returns a default value (an empty/zero value of VuoAnchor).

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_VuoAnchor or VuoListForeach_VuoAnchor.

◆ VuoListInsertValue_VuoAnchor()

void VuoListInsertValue_VuoAnchor ( const VuoList_VuoAnchor  list,
const VuoAnchor  value,
const unsigned long  index 
)

Inserts value 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.

◆ VuoListPrependValue_VuoAnchor()

void VuoListPrependValue_VuoAnchor ( VuoList_VuoAnchor  list,
const VuoAnchor  value 
)

Prepends value to list.

◆ VuoListRemoveAll_VuoAnchor()

void VuoListRemoveAll_VuoAnchor ( VuoList_VuoAnchor  list)

Removes all items from list.

◆ VuoListRemoveFirstValue_VuoAnchor()

void VuoListRemoveFirstValue_VuoAnchor ( VuoList_VuoAnchor  list)

Removes the first item from list.

◆ VuoListRemoveLastValue_VuoAnchor()

void VuoListRemoveLastValue_VuoAnchor ( VuoList_VuoAnchor  list)

Removes the last item from list.

◆ VuoListRemoveValue_VuoAnchor()

void VuoListRemoveValue_VuoAnchor ( VuoList_VuoAnchor  list,
const unsigned long  index 
)

Removes the item 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.

◆ VuoListReverse_VuoAnchor()

void VuoListReverse_VuoAnchor ( VuoList_VuoAnchor  list)

Reverses the order of the items in list.

◆ VuoListSetValue_VuoAnchor()

void VuoListSetValue_VuoAnchor ( const VuoList_VuoAnchor  list,
const VuoAnchor  value,
const unsigned long  index,
bool  expandListIfNeeded 
)

Changes the item 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 items, it is expanded to accommodate the specified index. If index is 0, the list is resized to contain 1 item set to value.

◆ VuoListShuffle_VuoAnchor()

void VuoListShuffle_VuoAnchor ( VuoList_VuoAnchor  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.

◆ VuoListSubset_VuoAnchor()

VuoList_VuoAnchor VuoListSubset_VuoAnchor ( VuoList_VuoAnchor  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.