AppendValueToLinkedList • ClearLinkedList • CompareHashmapString • CompareHashmapStringInfo • DestroyHashmap • DestroyLinkedList • GetLastValueInLinkedList • GetNextKeyInHashmap • GetNextValueInHashmap • GetNextValueInLinkedList • GetNumberOfEntriesInHashmap • GetNumberOfElementsInLinkedList • GetValueFromHashmap • GetValueFromLinkedList • HashPointerType • HashStringType • HashStringInfoType • InsertValueInLinkedList • InsertValueInSortedLinkedList • IsHashmapEmpty • IsLinkedListEmpty • LinkedListToArray • NewHashmap • NewLinkedList • PutEntryInHashmap • RemoveElementByValueFromLinkedList • RemoveElementFromLinkedList • RemoveEntryFromHashmap • RemoveLastElementFromLinkedList • ResetHashmapIterator • ResetLinkedListIterator
AppendValueToLinkedList
AppendValueToLinkedList() appends a value to the end of the linked-list.
The format of the AppendValueToLinkedList method is:
WizardBooleanType AppendValueToLinkedList(LinkedListInfo *list_info, const void *value)
A description of each parameter follows:
- list_info
- The linked-list info.
- value
- The value.
ClearLinkedList
ClearLinkedList() clears all the elements from the linked-list.
The format of the ClearLinkedList method is:
void ClearLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
A description of each parameter follows:
- list_info
- The linked-list info.
- relinquish_value
- The value deallocation method; typically RelinquishWizardMemory().
CompareHashmapString
CompareHashmapString() finds an entry in a hash-map based on the contents of a string.
The format of the CompareHashmapString method is:
WizardBooleanType CompareHashmapString(const void *target, const void *source)
A description of each parameter follows:
- target
- The target string.
- source
- The source string.
CompareHashmapStringInfo
CompareHashmapStringInfo() finds an entry in a hash-map based on the contents of a string.
The format of the CompareHashmapStringInfo method is:
WizardBooleanType CompareHashmapStringInfo(const void *target, const void *source)
A description of each parameter follows:
- target
- The target string.
- source
- The source string.
DestroyHashmap
DestroyHashmap() frees the hash-map and all associated resources.
The format of the DestroyHashmap method is:
HashmapInfo *DestroyHashmap(HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
DestroyLinkedList
DestroyLinkedList() frees the linked-list and all associated resources.
The format of the DestroyLinkedList method is:
LinkedListInfo *DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
A description of each parameter follows:
- list_info
- The linked-list info.
- relinquish_value
- The value deallocation method; typically RelinquishWizardMemory().
GetLastValueInLinkedList
GetLastValueInLinkedList() gets the last value in the linked-list.
The format of the GetLastValueInLinkedList method is:
void *GetLastValueInLinkedList(LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked_list info.
GetNextKeyInHashmap
GetNextKeyInHashmap() gets the next key in the hash-map.
The format of the GetNextKeyInHashmap method is:
void *GetNextKeyInHashmap(HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
GetNextValueInHashmap
GetNextValueInHashmap() gets the next value in the hash-map.
The format of the GetNextValueInHashmap method is:
void *GetNextValueInHashmap(HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
GetNextValueInLinkedList
GetNextValueInLinkedList() gets the next value in the linked-list.
The format of the GetNextValueInLinkedList method is:
void *GetNextValueInLinkedList(LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked-list info.
GetNumberOfEntriesInHashmap
GetNumberOfEntriesInHashmap() returns the number of entries in the hash-map.
The format of the GetNumberOfEntriesInHashmap method is:
size_t GetNumberOfEntriesInHashmap(const HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
GetNumberOfElementsInLinkedList
GetNumberOfElementsInLinkedList() returns the number of entries in the linked-list.
The format of the GetNumberOfElementsInLinkedList method is:
size_t GetNumberOfElementsInLinkedList( const LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked-list info.
GetValueFromHashmap
GetValueFromHashmap() gets a value from the hash-map by its key.
The format of the GetValueFromHashmap method is:
void *GetValueFromHashmap(HashmapInfo *hashmap_info,const void *key)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
- key
- The key.
GetValueFromLinkedList
GetValueFromLinkedList() gets a vlaue from the linked-list by the specified location.
The format of the GetValueFromLinkedList method is:
void *GetValueFromLinkedList(LinkedListInfo *list_info, const size_t index)
A description of each parameter follows:
- list_info
- The linked_list info.
- index
- The list index.
HashPointerType
HashPointerType() finds an entry in a hash-map based on the address of a pointer.
The format of the HashPointerType method is:
size_t HashPointerType(const void *pointer)
A description of each parameter follows:
- pointer
- compute the hash entry location from this pointer address.
HashStringType
HashStringType() finds an entry in a hash-map based on the contents of a string.
The format of the HashStringType method is:
size_t HashStringType(const void *string)
A description of each parameter follows:
- string
- compute the hash entry location from this string.
HashStringInfoType
HashStringInfoType() finds an entry in a hash-map based on the contents of a string.
The format of the HashStringInfoType method is:
size_t HashStringInfoType(const void *string)
A description of each parameter follows:
- string
- compute the hash entry location from this string.
InsertValueInLinkedList
InsertValueInLinkedList() inserts an element in the linked-list at the specified location.
The format of the InsertValueInLinkedList method is:
WizardBooleanType InsertValueInLinkedList(ListInfo *list_info, const size_t index,const void *value)
A description of each parameter follows:
- list_info
- The hashmap info.
- index
- The index.
- value
- The value.
InsertValueInSortedLinkedList
InsertValueInSortedLinkedList() inserts a value in the sorted linked-list.
The format of the InsertValueInSortedLinkedList method is:
WizardBooleanType InsertValueInSortedLinkedList(ListInfo *list_info, int (*compare)(const void *,const void *),void **replace, const void *value)
A description of each parameter follows:
- list_info
- The hashmap info.
- index
- The index.
- compare
- The compare method.
- replace
- return previous element here.
- value
- The value.
IsHashmapEmpty
IsHashmapEmpty() returns WizardTrue if the hash-map is empty.
The format of the IsHashmapEmpty method is:
WizardBooleanType IsHashmapEmpty(const HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
IsLinkedListEmpty
IsLinkedListEmpty() returns WizardTrue if the linked-list is empty.
The format of the IsLinkedListEmpty method is:
WizardBooleanType IsLinkedListEmpty(LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked-list info.
LinkedListToArray
LinkedListToArray() converts the linked-list to an array.
The format of the LinkedListToArray method is:
WizardBooleanType LinkedListToArray(LinkedListInfo *list_info, void **array)
A description of each parameter follows:
- list_info
- The linked-list info.
- array
- The array.
NewHashmap
NewHashmap() returns a pointer to a HashmapInfo structure initialized to default values. The capacity is an initial estimate. The hashmap will increase capacity dynamically as the demand requires.
The format of the NewHashmap method is:
HashmapInfo *NewHashmap(const size_t capacity, size_t (*hash)(const void *), WizardBooleanType (*compare)(const void *,const void *), void *(*relinquish_key)(void *),void *(*relinquish_value)(void *))
A description of each parameter follows:
- capacity
- The initial number entries in the hash-map: typically SmallHashmapSize, MediumHashmapSize, or LargeHashmapSize. The hashmap will dynamically increase its capacity on demand.
- hash
- The hash method, typically HashPointerType(), HashStringType(), or HashStringInfoType().
- compare
- The compare method, typically NULL, CompareHashmapString(), or CompareHashmapStringInfo().
- relinquish_key
- The key deallocation method, typically RelinquishWizardMemory(), called whenever a key is removed from the hash-map.
- relinquish_value
- The value deallocation method; typically RelinquishWizardMemory(), called whenever a value object is removed from the hash-map.
NewLinkedList
NewLinkedList() returns a pointer to a LinkedListInfo structure initialized to default values.
The format of the Acquirestruct LinkedListInfomethod is:
LinkedListInfo *NewLinkedList(const size_t capacity)
A description of each parameter follows:
- capacity
- The maximum number of elements in the list.
PutEntryInHashmap
PutEntryInHashmap() puts an entry in the hash-map. If the key already exists in the map it is first removed.
The format of the PutEntryInHashmap method is:
WizardBooleanType PutEntryInHashmap(HashmapInfo *hashmap_info, const void *key,const void *value)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
- key
- The key.
- value
- The value.
RemoveElementByValueFromLinkedList
RemoveElementByValueFromLinkedList() removes an element from the linked-list by value.
The format of the RemoveElementByValueFromLinkedList method is:
void *RemoveElementByValueFromLinkedList(LinkedListInfo *list_info, const void *value)
A description of each parameter follows:
- list_info
- The list info.
- value
- The value.
RemoveElementFromLinkedList
RemoveElementFromLinkedList() removes an element from the linked-list at the specified location.
The format of the RemoveElementFromLinkedList method is:
void *RemoveElementFromLinkedList(LinkedListInfo *list_info, const size_t index)
A description of each parameter follows:
- list_info
- The linked-list info.
- index
- The index.
RemoveEntryFromHashmap
RemoveEntryFromHashmap() removes an entry from the hash-map by its key.
The format of the RemoveEntryFromHashmap method is:
void *RemoveEntryFromHashmap(HashmapInfo *hashmap_info,void *key)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
- key
- The key.
RemoveLastElementFromLinkedList
RemoveLastElementFromLinkedList() removes the last element from the linked-list.
The format of the RemoveLastElementFromLinkedList method is:
void *RemoveLastElementFromLinkedList(LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked-list info.
ResetHashmapIterator
ResetHashmapIterator() resets the hash-map iterator. Use it in conjunction with GetNextKeyInHashmap() to iterate over all the keys in the hash-map.
The format of the ResetHashmapIterator method is:
ResetHashmapIterator(HashmapInfo *hashmap_info)
A description of each parameter follows:
- hashmap_info
- The hashmap info.
ResetLinkedListIterator
ResetLinkedListIterator() resets the lined-list iterator. Use it in conjunction with GetNextValueInLinkedList() to iterate over all the values in the linked-list.
The format of the ResetLinkedListIterator method is:
ResetLinkedListIterator(LinkedListInfo *list_info)
A description of each parameter follows:
- list_info
- The linked-list info.