- BiMap <A, B>
- BiMap (IEnumerable<(A Left, B Right)> items)
- BiMap (IEnumerable<(A Left, B Right)> items, bool tryAdd)
- Add (A left, B right)
- TryAdd (A left, B right)
- AddRange (IEnumerable<(A, B)> range)
- AddRange (IEnumerable<Tuple<A, B>> range)
- AddRange (IEnumerable<KeyValuePair<A, B>> range)
- TryAddRange (IEnumerable<(A, B)> range)
- TryAddRange (IEnumerable<Tuple<A, B>> range)
- TryAddRange (IEnumerable<KeyValuePair<A, B>> range)
- AddOrUpdateRange (IEnumerable<Tuple<A, B>> range)
- AddOrUpdateRange (IEnumerable<(A, B)> range)
- AddOrUpdateRange (IEnumerable<KeyValuePair<A, B>> range)
- Remove (A left)
- Remove (B right)
- this []
- this []
- IsEmpty
- Count
- Length
- SetItem (A left, B right)
- TrySetItem (A left, B right)
- AddOrUpdate (A left, B right)
- ContainsKey (A value)
- ContainsKey (B value)
- Clear ()
- LeftKeys
- RightKeys
- LeftValues
- RightValues
- ToDictionaryLeft ()
- ToDictionaryRight ()
- Tuples
- Pairs
- ToSeq ()
- Equals (BiMap<A, B> y)
- Find (A value)
- Find (B value)
- GetEnumerator ()
- CompareTo (BiMap<A, B> rhs)
- CompareTo (object? obj)
- Equals (object? obj)
- == (BiMap<A, B> lhs, BiMap<A, B> rhs)
- != (BiMap<A, B> lhs, BiMap<A, B> rhs)
- < (BiMap<A, B> lhs, BiMap<A, B> rhs)
- <= (BiMap<A, B> lhs, BiMap<A, B> rhs)
- > (BiMap<A, B> lhs, BiMap<A, B> rhs)
- >= (BiMap<A, B> lhs, BiMap<A, B> rhs)
- + (BiMap<A, B> lhs, BiMap<A, B> rhs)
- - (BiMap<A, B> lhs, BiMap<A, B> rhs)
- GetHashCode ()
Map type indexed both on the A and B for rapid lookup of either
type | A | A |
type | B | B |
property Iterable<B> LeftValues Source #
Enumerable of map lefts in-rights-order
property Iterable<A> RightValues Source #
Enumerable of map rights in-lefts-order
method BiMap<A, B> Add (A left, B right) Source #
Atomically adds a new item to the map
Null is not allowed for a Key or a Value
param | key | Key |
param | value | Value |
returns | New Map with the item added |
method BiMap<A, B> TryAdd (A left, B right) Source #
Atomically adds a new item to the map. If the key already exists, then the new item is ignored
Null is not allowed for a Key or a Value
param | key | Key |
param | value | Value |
returns | New Map with the item added |
method BiMap<A, B> AddRange (IEnumerable<(A, B)> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> AddRange (IEnumerable<Tuple<A, B>> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> AddRange (IEnumerable<KeyValuePair<A, B>> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> TryAddRange (IEnumerable<(A, B)> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> TryAddRange (IEnumerable<Tuple<A, B>> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> TryAddRange (IEnumerable<KeyValuePair<A, B>> range) Source #
Atomically adds a range of items to the map.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> AddOrUpdateRange (IEnumerable<Tuple<A, B>> range) Source #
Atomically adds a range of items to the map. If any of the keys exist already then they're replaced.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> AddOrUpdateRange (IEnumerable<(A, B)> range) Source #
Atomically adds a range of items to the map. If any of the keys exist already then they're replaced.
Null is not allowed for a Key or a Value
param | range | Range of tuples to add |
returns | New Map with the items added |
method BiMap<A, B> AddOrUpdateRange (IEnumerable<KeyValuePair<A, B>> range) Source #
Atomically adds a range of items to the map. If any of the keys exist already then they're replaced.
Null is not allowed for a Key or a Value
param | range | Range of KeyValuePairs to add |
returns | New Map with the items added |
method BiMap<A, B> Remove (A left) Source #
Atomically removes an item from the map If the key doesn't exists, the request is ignored.
param | key | Key |
returns | New map with the item removed |
method BiMap<A, B> Remove (B right) Source #
Atomically removes an item from the map If the key doesn't exists, the request is ignored.
param | key | Key |
returns | New map with the item removed |
method BiMap<A, B> SetItem (A left, B right) Source #
Atomically updates an existing item
Null is not allowed for a Key or a Value
param | key | Key |
param | value | Value |
returns | New Map with the item added |
method BiMap<A, B> TrySetItem (A left, B right) Source #
Atomically updates an existing item, unless it doesn't exist, in which case it is ignored
Null is not allowed for a Key or a Value
param | key | Key |
param | value | Value |
returns | New Map with the item added |
method BiMap<A, B> AddOrUpdate (A left, B right) Source #
Atomically adds a new item to the map. If the key already exists, the new item replaces it.
Null is not allowed for a Key or a Value
param | key | Key |
param | value | Value |
returns | New Map with the item added |
method bool ContainsKey (A value) Source #
Checks for existence of a key in the map
param | key | Key to check |
returns | True if an item with the key supplied is in the map |
method bool ContainsKey (B value) Source #
Checks for existence of a key in the map
param | key | Key to check |
returns | True if an item with the key supplied is in the map |
method BiMap<A, B> Clear () Source #
Clears all items from the map
Functionally equivalent to calling Map.empty as the original structure is untouched
returns | Empty map |
method IReadOnlyDictionary<A, B> ToDictionaryLeft () Source #
Convert the map to an IReadOnlyDictionary
returns |
method IReadOnlyDictionary<B, A> ToDictionaryRight () Source #
Convert the map to an IReadOnlyDictionary
returns |
method MapEnumerator<A, B> GetEnumerator () Source #
method int GetHashCode () Source #