Generic list class.
Macros:
Iterator for generic list structure. Declaration macro for an iterator structure named 'name' ## Iterator, associated to a list named 'name' containing elements of type 'type'
Create an iterator on a generic list
Input argument(s):
list: the generic list on which to iterate
type: the type of iterator
Output and side effect(s):
Return the iterator
Allocate memory and create an iterator on a generic list
Input argument(s):
list: the generic list on which to iterate
type: the type of iterator
Output and side effect(s):
Return the iterator
Free the memory used by an iterator.
Input argument(s):
that: the iterator to free
Free the memory used by a pointer to an iterator and reset '*that' to NULL
Input argument(s):
that: a pointer to the iterator to free
Reset the iterator
Output and side effect(s):
Return the first element of the iteration
Move the iterator to the previous element
Output and side effect(s):
Return the previous element of the iteration
Move the iterator to the next element
Output and side effect(s):
Return the next element of the iteration
Check if the iterator is on a valid element
Output and side effect(s):
Return true if the iterator is on a valid element, else false
Get the current element of the iteration
Output and side effect(s):
Return a pointer to the current element
Set the type of the iterator and reset it
Input argument(s):
type: the new type of the iterator
Return true if the iterator is on the first element of the iteration
Output and side effect(s):
Return true or false
Return true if the iterator is on the last element of the iteration
Output and side effect(s):
Return true or false
Move the iterator to the last element of the iteration
Definition macro calling all the submacros at once for an iterator on an array structure named 'name', containing elements of type 'type'
Generic double linked list structure. Declaration macro for a list structure named 'name', containing elements of type 'type'
Definition macro and submacros for a list named 'name', containing elements of type 'type' Create a list containing elements of type 'type'
Output and side effect(s):
Return a list
Allocate memory for a new array and create it
Output and side effect(s):
Return an array containing 'size_' elements of type 'type'
Exception(s):
May raise CapyExc_MallocFailed.
Free the memory used by a list.
Input argument(s):
that: the list to free
Free the memory used by a pointer to a list and reset '*that' to NULL
Input argument(s):
that: a pointer to the list to free
Get the size of a list Output Return the size of the list
Push an element to the head of a list
Input argument(s):
val: the element's value
Exception(s):
May raise CapyExc_MallocFailed.
Add an element to the tail of a list
Input argument(s):
val: the element's value
Exception(s):
May raise CapyExc_MallocFailed.
Remove an element from the head of a list
Output and side effect(s):
Return the removed element's value
Remove an element from the tail of a list
Output and side effect(s):
Return the removed element's value
Get the value of the element in the list at the given position
Output and side effect(s):
Return the element's value
Get a pointer to the value of the element in the list at the given position
Output and side effect(s):
Return the pointer to the element's value
Empty the list by removing all its elements
Get the value of the element at the head of the list
Output and side effect(s):
Return the element's value
Get the value of the element at the tail of the list
Output and side effect(s):
Return the element's value
Get a pointer to the value of the element at the head of the list
Output and side effect(s):
Return the pointer to the element's value
Get a pointer to the value of the element at the tail of the list
Output and side effect(s):
Return the pointer to the element's value
Check if a list is empty
Output and side effect(s):
Return true if the list is empty, else false
Remove elements from the list
Input argument(s):
cmp: comparator to find the element
elem: the element to be removed
Output and side effect(s):
All the elements in the list equal (according to the given comparator) to the given element are removed. The iterator is reset.
Find an element in the list
Input argument(s):
cmp: comparator to find the element
elem: the element to be found
Output and side effect(s):
The first element in the list equal (according to the given comparator) to the given element is returned. If none could be found, return NULL.
Initialise the iterator of the list, must be called after the creation of the list when it is created with Create(), Alloc() automatically initialise the iterator.
Definition macro calling all the submacros at once for a list structure named 'name', containing elements of type 'type'
Enumerations:
Enumeration for the types of iterator on generic list
Typedefs:
None.
Functions:
None.