Vuo 2.4.2
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
VuoList_VuoTree

Description

A list of VuoTree elements.

Classes

struct  VuoList_VuoTree_struct
 List type. More...
 

Typedefs

typedef const struct VuoList_VuoTree_structVuoList_VuoTree
 A list of VuoTree elements. More...
 

Functions

VuoList_VuoTree VuoListCreate_VuoTree (void)
 Creates a new list of VuoTree elements. More...
 
VuoList_VuoTree VuoListCreateWithCount_VuoTree (const unsigned long count, const VuoTree value)
 Creates a new list of count instances of value. More...
 
VuoList_VuoTree VuoListCreateWithValueArray_VuoTree (const VuoTree *values, const unsigned long valueCount)
 Creates a new list containing the items in the C array values. More...
 
VuoList_VuoTree VuoListCopy_VuoTree (const VuoList_VuoTree 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...
 
VuoTree VuoListGetValue_VuoTree (const VuoList_VuoTree list, const unsigned long index)
 Returns the VuoTree at index. More...
 
VuoTreeVuoListGetData_VuoTree (const VuoList_VuoTree list)
 Returns a pointer to a C array containing the list items. More...
 
void VuoListForeach_VuoTree (const VuoList_VuoTree list, bool(^function)(const VuoTree value))
 Applies function to each of list's items, serially in order of index. More...
 
void VuoListSetValue_VuoTree (const VuoList_VuoTree list, const VuoTree value, const unsigned long index, bool expandListIfNeeded)
 Changes the VuoTree at index. More...
 
void VuoListInsertValue_VuoTree (const VuoList_VuoTree list, const VuoTree value, const unsigned long index)
 Inserts the VuoTree immediately before index. More...
 
void VuoListPrependValue_VuoTree (VuoList_VuoTree list, const VuoTree value)
 Prepends value to list. More...
 
void VuoListAppendValue_VuoTree (VuoList_VuoTree list, const VuoTree value)
 Appends value to list. More...
 
void VuoListExchangeValues_VuoTree (VuoList_VuoTree list, const unsigned long indexA, const unsigned long indexB)
 Swaps the value at indexA with the value at indexB. More...
 
void VuoListShuffle_VuoTree (VuoList_VuoTree list, const double chaos)
 Generates a random permutation of list. More...
 
void VuoListReverse_VuoTree (VuoList_VuoTree list)
 Reverses the order of the items in list. More...
 
VuoList_VuoTree VuoListSubset_VuoTree (VuoList_VuoTree 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_VuoTree (VuoList_VuoTree list)
 Removes the first value from list. More...
 
void VuoListRemoveLastValue_VuoTree (VuoList_VuoTree list)
 Removes the last value from list. More...
 
void VuoListRemoveAll_VuoTree (VuoList_VuoTree list)
 Removes all values from list. More...
 
void VuoListRemoveValue_VuoTree (VuoList_VuoTree list, const unsigned long index)
 Removes the VuoTree at index. More...
 
unsigned long VuoListGetCount_VuoTree (const VuoList_VuoTree list)
 Returns the number of elements in list. More...
 
VuoList_VuoTree VuoList_VuoTree_makeFromJson (struct json_object *js)
 Decodes the JSON object js to create a new value. More...
 
struct json_objectVuoList_VuoTree_getJson (const VuoList_VuoTree value)
 Encodes value as a JSON object. More...
 
char * VuoList_VuoTree_getSummary (const VuoList_VuoTree value)
 Produces a brief human-readable summary of value. More...
 
void VuoList_VuoTree_retain (VuoList_VuoTree value)
 Retains the list. More...
 
void VuoList_VuoTree_release (VuoList_VuoTree value)
 Releases the list. More...
 
char * VuoList_VuoTree_getString (const VuoList_VuoTree value)
 Automatically generated function. More...
 

Class Documentation

◆ VuoList_VuoTree_struct

struct VuoList_VuoTree_struct
Class Members
void * l

Macro Definition Documentation

◆ VUO_LIST_INDEX_TO_C_ARRAY_INDEX

#define VUO_LIST_INDEX_TO_C_ARRAY_INDEX

Definition at line 63 of file VuoList_VuoTree.h.

Typedef Documentation

◆ VuoList_VuoTree

typedef const struct VuoList_VuoTree_struct * VuoList_VuoTree

A list of VuoTree elements.

Function Documentation

◆ VuoList_VuoTree_getJson()

struct json_object * VuoList_VuoTree_getJson ( const VuoList_VuoTree  value)

Encodes value as a JSON object.

Definition at line 84 of file VuoList_VuoTree.cc.

◆ VuoList_VuoTree_getString()

char * VuoList_VuoTree_getString ( const VuoList_VuoTree  value)

Automatically generated function.

◆ VuoList_VuoTree_getSummary()

char * VuoList_VuoTree_getSummary ( const VuoList_VuoTree  value)

Produces a brief human-readable summary of value.

Definition at line 119 of file VuoList_VuoTree.cc.

◆ VuoList_VuoTree_makeFromJson()

VuoList_VuoTree VuoList_VuoTree_makeFromJson ( struct json_object js)

Decodes the JSON object js to create a new value.

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

Definition at line 63 of file VuoList_VuoTree.cc.

◆ VuoList_VuoTree_release()

void VuoList_VuoTree_release ( VuoList_VuoTree  value)

Releases the list.

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

Definition at line 580 of file VuoList_VuoTree.cc.

◆ VuoList_VuoTree_retain()

void VuoList_VuoTree_retain ( VuoList_VuoTree  value)

Retains the list.

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

Definition at line 575 of file VuoList_VuoTree.cc.

◆ VuoListAppendValue_VuoTree()

void VuoListAppendValue_VuoTree ( VuoList_VuoTree  list,
const VuoTree  value 
)

Appends value to list.

Definition at line 321 of file VuoList_VuoTree.cc.

◆ VuoListCopy_VuoTree()

VuoList_VuoTree VuoListCopy_VuoTree ( const VuoList_VuoTree  list)

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

Definition at line 187 of file VuoList_VuoTree.cc.

◆ VuoListCreate_VuoTree()

VuoList_VuoTree VuoListCreate_VuoTree ( void  )

Creates a new list of VuoTree elements.

Definition at line 154 of file VuoList_VuoTree.cc.

◆ VuoListCreateWithCount_VuoTree()

VuoList_VuoTree VuoListCreateWithCount_VuoTree ( const unsigned long  count,
const VuoTree  value 
)

Creates a new list of count instances of value.

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

Definition at line 161 of file VuoList_VuoTree.cc.

◆ VuoListCreateWithValueArray_VuoTree()

VuoList_VuoTree VuoListCreateWithValueArray_VuoTree ( const VuoTree 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_VuoTree.cc.

◆ VuoListExchangeValues_VuoTree()

void VuoListExchangeValues_VuoTree ( VuoList_VuoTree  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_VuoTree.cc.

◆ VuoListForeach_VuoTree()

void VuoListForeach_VuoTree ( const VuoList_VuoTree  list,
bool(^)(const VuoTree 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).

Changed in Vuo 2.0.0:
New.

Definition at line 242 of file VuoList_VuoTree.cc.

◆ VuoListGetCount_VuoTree()

unsigned long VuoListGetCount_VuoTree ( const VuoList_VuoTree  list)

Returns the number of elements in list.

Definition at line 566 of file VuoList_VuoTree.cc.

◆ VuoListGetData_VuoTree()

VuoTree * VuoListGetData_VuoTree ( const VuoList_VuoTree  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_VuoTree.cc.

◆ VuoListGetValue_VuoTree()

VuoTree VuoListGetValue_VuoTree ( const VuoList_VuoTree  list,
const unsigned long  index 
)

Returns the VuoTree 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_VuoTree or VuoListForeach_VuoTree.

Definition at line 216 of file VuoList_VuoTree.cc.

◆ VuoListIndexToCArrayIndex()

static unsigned long VuoListIndexToCArrayIndex ( long  index,
unsigned long  listCount 
) const
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_VuoTree.h.

◆ VuoListInsertValue_VuoTree()

void VuoListInsertValue_VuoTree ( const VuoList_VuoTree  list,
const VuoTree  value,
const unsigned long  index 
)

Inserts the VuoTree 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_VuoTree.cc.

◆ VuoListPrependValue_VuoTree()

void VuoListPrependValue_VuoTree ( VuoList_VuoTree  list,
const VuoTree  value 
)

Prepends value to list.

Definition at line 311 of file VuoList_VuoTree.cc.

◆ VuoListRemoveAll_VuoTree()

void VuoListRemoveAll_VuoTree ( VuoList_VuoTree  list)

Removes all values from list.

Definition at line 540 of file VuoList_VuoTree.cc.

◆ VuoListRemoveFirstValue_VuoTree()

void VuoListRemoveFirstValue_VuoTree ( VuoList_VuoTree  list)

Removes the first value from list.

Definition at line 512 of file VuoList_VuoTree.cc.

◆ VuoListRemoveLastValue_VuoTree()

void VuoListRemoveLastValue_VuoTree ( VuoList_VuoTree  list)

Removes the last value from list.

Definition at line 526 of file VuoList_VuoTree.cc.

◆ VuoListRemoveValue_VuoTree()

void VuoListRemoveValue_VuoTree ( VuoList_VuoTree  list,
const unsigned long  index 
)

Removes the VuoTree 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_VuoTree.cc.

◆ VuoListReverse_VuoTree()

void VuoListReverse_VuoTree ( VuoList_VuoTree  list)

Reverses the order of the items in list.

Definition at line 435 of file VuoList_VuoTree.cc.

◆ VuoListSetValue_VuoTree()

void VuoListSetValue_VuoTree ( const VuoList_VuoTree  list,
const VuoTree  value,
const unsigned long  index,
bool  expandListIfNeeded 
)

Changes the VuoTree 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_VuoTree.cc.

◆ VuoListShuffle_VuoTree()

void VuoListShuffle_VuoTree ( VuoList_VuoTree  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_VuoTree.cc.

◆ VuoListSubset_VuoTree()

VuoList_VuoTree VuoListSubset_VuoTree ( VuoList_VuoTree  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_VuoTree.cc.