Collections
Vector
-
typedef CowlAny *CowlObjectPtr
Pointer to any
CowlObject.
-
typedef UVec_CowlObjectPtr UVec_CowlObjectPtr
UVec(T)ofCowlObject *elements.
-
struct CowlVector
Vector of
CowlObjectelements.Pseudo-extends:
CowlObject
-
CowlVector *cowl_vector(UVec_CowlObjectPtr *data)
Returns a vector.
Note
You must not use the raw vector after passing it to this function.
Note
Elements in the raw vector are retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
data – Underlying raw vector.
- Returns:
Vector, or NULL on error.
-
CowlVector *cowl_vector_wrap(UVec_CowlObjectPtr *data)
Returns a vector.
Note
You must not use the raw vector after passing it to this function.
Note
Elements in the raw vector are not retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
data – Underlying raw vector.
- Returns:
Vector, or NULL on error.
-
CowlVector *cowl_vector_from_array(CowlAny *items[], unsigned count)
Returns a vector with the specified items.
Note
Items in the array are retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
items – Array of items.
count – Number of items in the array.
- Returns:
Vector, or NULL on error.
-
CowlVector *cowl_vector_with_items(CowlAny *first, ...)
Returns a vector with the specified items.
Note
Items are retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
first – First item, followed by a variable number of additional items, terminated by NULL.
- Returns:
Vector, or NULL on error.
-
CowlVector *cowl_vector_of(...)
Returns a vector with the specified items.
Note
Items are retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
... – Items.
- Returns:
Vector, or NULL on error.
-
CowlVector *cowl_vector_empty(void)
Returns a vector with no elements.
Note
You must release the returned object via
cowl_release().- Returns:
Vector, or NULL on error.
-
UVec_CowlObjectPtr const *cowl_vector_get_data(CowlVector *vec)
Returns the underlying raw vector.
- Parameters:
vec – The vector.
- Returns:
Underlying raw vector.
-
ulib_uint cowl_vector_count(CowlVector *vec)
Returns the number of elements in the vector.
- Parameters:
vec – The vector.
- Returns:
Number of elements in the vector.
-
CowlAny *cowl_vector_get_item(CowlVector *vec, ulib_uint idx)
Returns the element at the specified index.
- Parameters:
vec – The vector.
idx – The index.
- Returns:
The element at the specified index.
-
bool cowl_vector_contains(CowlVector *vec, CowlAny *object)
Checks whether the vector contains the specified element.
- Parameters:
vec – The vector.
object – The object.
- Returns:
True if the vector contains the specified element, false otherwise.
-
cowl_vector_foreach(vec, obj)
Iterates over the vector, executing the specified code block for each element.
- Parameters:
vec –
CowlVector *The vector.obj –
symbolName of the variable holding the current item and its index.
Hash table
-
typedef UHash_CowlObjectPtr UHash_CowlObjectPtr
UHash(T)ofCowlObject *elements.
-
struct CowlTable
Hash table of
CowlObjectelements.Pseudo-extends:
CowlObject
-
CowlTable *cowl_table(UHash_CowlObjectPtr *table)
Returns an hash table.
Note
You must not use the raw hash table after passing it to this function.
Note
Keys and values in the raw table are retained by this constructor.
Note
You must release the returned object via
cowl_release().- Parameters:
table – Underlying raw hash table.
- Returns:
Hash table, or NULL on error.
-
CowlTable *cowl_table_empty(void)
Returns an hash table with no elements.
- Returns:
Hash table, or NULL on error.
-
UHash_CowlObjectPtr const *cowl_table_get_data(CowlTable *table)
Returns the underlying raw hash table.
- Parameters:
table – The hash table.
- Returns:
Underlying raw hash table.
-
ulib_uint cowl_table_count(CowlTable *table)
Returns the number of elements in the hash table.
- Parameters:
table – The hash table.
- Returns:
Number of elements in The hash table.
-
CowlAny *cowl_table_get_value(CowlTable *table, CowlAny *key)
Returns the value associated with the specified key.
- Parameters:
table – The hash table.
key – The key.
- Returns:
Value associated with the key, or NULL if the key is not present.
-
CowlAny *cowl_table_get_any(CowlTable *table)
Returns one of the keys in the hash table.
- Parameters:
table – The hash table.
- Returns:
One of the keys in the hash table.