Typedefs | |
typedef cx_tree | cx_multimap |
The multimap datatype. | |
typedef cx_tree_iterator | cx_multimap_iterator |
The multimap iterator datatype. | |
typedef cx_tree_const_iterator | cx_multimap_const_iterator |
The multimap constant iterator datatype. | |
typedef cx_tree_compare_func | cx_multimap_compare_func |
The multimap's key comparison operator function. | |
Functions | |
cx_multimap_iterator | cx_multimap_begin (const cx_multimap *multimap) |
Get an iterator to the first pair in a multimap. | |
cx_multimap_iterator | cx_multimap_end (const cx_multimap *multimap) |
Get an iterator for the position after the last pair in the multimap. | |
cx_multimap_iterator | cx_multimap_next (const cx_multimap *multimap, cx_multimap_const_iterator position) |
Get an iterator for the next pair in the multimap. | |
cx_multimap_iterator | cx_multimap_previous (const cx_multimap *multimap, cx_multimap_const_iterator position) |
Get an iterator for the previous pair in the multimap. | |
void | cx_multimap_clear (cx_multimap *multimap) |
Remove all pairs from a multimap. | |
cxbool | cx_multimap_empty (const cx_multimap *multimap) |
Check whether a multimap is empty. | |
cx_multimap * | cx_multimap_new (cx_multimap_compare_func compare, cx_free_func key_destroy, cx_free_func value_destroy) |
Create a new multimap without any elements. | |
void | cx_multimap_delete (cx_multimap *multimap) |
Destroy a multimap and all its elements. | |
cxsize | cx_multimap_size (const cx_multimap *multimap) |
Get the actual number of pairs in the multimap. | |
cxsize | cx_multimap_max_size (const cx_multimap *multimap) |
Get the maximum number of pairs possible. | |
cx_multimap_compare_func | cx_multimap_key_comp (const cx_multimap *multimap) |
Retrieve a multimap's key comparison function. | |
void | cx_multimap_swap (cx_multimap *multimap1, cx_multimap *multimap2) |
Swap the contents of two multimaps. | |
cxptr | cx_multimap_assign (cx_multimap *multimap, cx_multimap_iterator position, cxcptr data) |
Assign data to an iterator position. | |
cxptr | cx_multimap_get_key (const cx_multimap *multimap, cx_multimap_const_iterator position) |
Get the key from a given iterator position. | |
cxptr | cx_multimap_get_value (const cx_multimap *multimap, cx_multimap_const_iterator position) |
Get the data from a given iterator position. | |
cx_multimap_iterator | cx_multimap_find (const cx_multimap *multimap, cxcptr key) |
Locate an element in the multimap. | |
cx_multimap_iterator | cx_multimap_lower_bound (const cx_multimap *multimap, cxcptr key) |
Find the beginning of a subsequence matching a given key. | |
cx_multimap_iterator | cx_multimap_upper_bound (const cx_multimap *multimap, cxcptr key) |
Find the end of a subsequence matching a given key. | |
void | cx_multimap_equal_range (const cx_multimap *multimap, cxcptr key, cx_multimap_iterator *begin, cx_multimap_iterator *end) |
Find a subsequence matching a given key. | |
cxsize | cx_multimap_count (const cx_multimap *multimap, cxcptr key) |
Get the number of elements matching a key. | |
cx_multimap_iterator | cx_multimap_insert (cx_multimap *multimap, cxcptr key, cxcptr data) |
Insert data into a multimap. | |
void | cx_multimap_erase_position (cx_multimap *multimap, cx_multimap_iterator position) |
Erase an element from a multimap. | |
void | cx_multimap_erase_range (cx_multimap *multimap, cx_multimap_iterator begin, cx_multimap_iterator end) |
Erase a range of elements from a multimap. | |
cxsize | cx_multimap_erase (cx_multimap *multimap, cxcptr key) |
Erase an element from a multimap according to the provided key. |
#include <cxmultimap.h>
|
The multimap datatype. The internal representation of a mutimap is, as for ordinary maps too, a balanced binary tree. For this reason cx_multimap is just an alias for cx_tree. |
|
The multimap's key comparison operator function.
This type of function is used internally by a multimap when key comparisons are necessary. It must return
|
|
The multimap constant iterator datatype. The multimap constant iterator is just an alias for the cx_tree_const_iterator datatype. |
|
The multimap iterator datatype. The multimap iterator is just an alias for the cx_tree_iterator datatype. |
|
Assign data to an iterator position.
|
|
Get an iterator to the first pair in a multimap.
|
|
Remove all pairs from a multimap.
|
|
Get the number of elements matching a key.
|
|
Destroy a multimap and all its elements.
|
|
Check whether a multimap is empty.
return (cx_multimap_size(multimap) == 0); |
|
Get an iterator for the position after the last pair in the multimap.
|
|
Find a subsequence matching a given key.
|
|
Erase an element from a multimap according to the provided key.
|
|
Erase an element from a multimap.
|
|
Erase a range of elements from a multimap.
|
|
Locate an element in the multimap.
|
|
Get the key from a given iterator position.
|
|
Get the data from a given iterator position.
|
|
Insert data into a multimap.
|
|
Retrieve a multimap's key comparison function.
|
|
Find the beginning of a subsequence matching a given key.
|
|
Get the maximum number of pairs possible.
|
|
Create a new multimap without any elements.
The multimap's key comparison function is set to compare. It must return
The destructors for a multimap node's key and value field are set to key_destroy and value_destroy. Whenever a multimap node is destroyed these functions are used to deallocate the memory used by the key and the value. Each of the destructors might be
|
|
Get an iterator for the next pair in the multimap.
|
|
Get an iterator for the previous pair in the multimap.
|
|
Get the actual number of pairs in the multimap.
|
|
Swap the contents of two multimaps.
|
|
Find the end of a subsequence matching a given key.
|