Construct from something else
Add an item.
Ensure a key exists (with the given value). When multi==true, replaces all previous entries with this key. Otherwise, behaves identically to add.
Return a range which iterates over all keys. Duplicate keys will occur several times in the range.
Return a range which iterates over key/value pairs.
Return a range which iterates over all values.
Return a range with all values with the given key. If the key is not present, returns an empty range.
Removes all elements.
Return the number of items with the given key. When multi==false, always returns 0 or 1.
Create shallow copy
True when there are no items.
Retrieve last value associated with key, or defaultValue if none.
Total number of items, including with duplicate keys.
Iterate over keys (sets) / values (maps).
Iterate over keys and values.
Null assignment
Convert from an associative type
Convert from a range of tuples
Convert from a range of key/value pairs
Convert from a range of values
Check if item with this key has been added. When applicable, return a pointer to the last value added with this key.
Convert to bool (true if non-null)
Index operator. The key must exist. Indexing with a key which does not exist is an error.
Same as set(k, v).
Allows writing to ordered sets by index. The total number of elements never changes as a result of such an operation - a consequence of which is that if multi==false, changing the value to one that's already in the set is an error.
Perform cumulative operation with value (initialized with .init if the key does not exist).
Perform cumulative operation with value at index.
Perform unary operation with value (initialized with .init if the key does not exist).
Perform unary operation with value at index.
Removes all elements with the given key.
Add value only if key is not present.
If key is present, call update for every value; otherwise, add new value with create.
Return an array with all values with the given key. If the key is not present, returns an empty array.
Base type for ordered/unordered single-value/multi-value map/set