Enhanced C#
Language of your choice: library documentation

Documentation moved to ecsharp.net

GitHub doesn't support HTTP redirects, so you'll be redirected in 3 seconds.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Public fields | Properties | Public Member Functions | List of all members
Loyc.Collections.BMultiMap< K, V >.ValueList Struct Reference

Represents the set of values associated with a particular key in a BMultiMap{K,V} collection. More...


Source file:
Inheritance diagram for Loyc.Collections.BMultiMap< K, V >.ValueList:
Loyc.Collections.BMultiMap< K, V > Loyc.Collections.BMultiMap< K, V > Loyc.Collections.BList< T > Loyc.Collections.BList< T > Loyc.ICloneable< out T > Loyc.Collections.IAddRange< T > Loyc.Collections.ICollectionEx< T > Loyc.Collections.IListSource< out T > Loyc.Collections.AListBase< K, T > Loyc.ICloneable< out T > Loyc.Collections.IAddRange< T > Loyc.Collections.ICollectionEx< T > Loyc.Collections.IListSource< out T > Loyc.Collections.AListBase< K, T >

Remarks

Represents the set of values associated with a particular key in a BMultiMap{K,V} collection.

Renamed from Values because C# wouldn't let me implement a Values property (for the IReadOnlyDictionary interface) at the same time.

Public fields

readonly BMultiMap< K, V > _map
 
readonly K _key
 

Properties

int Count [get]
 
bool IsReadOnly [get]
 
- Properties inherited from Loyc.Collections.BMultiMap< K, V >
ValueList this[K key] [get]
 Gets a collection associated with the specified key. More...
 
IEnumerable< K > Keys [get]
 
IEnumerable< ValueList > Values [get]
 Gets a list of collections of ValueList in this object. More...
 
- Properties inherited from Loyc.Collections.AListBase< K, T >
virtual ListChangingHandler< T > ListChanging
 Event for learning about changes in progress on a list. More...
 
byte TreeHeight [get]
 
int Count [get]
 
bool IsEmpty [get]
 
AListReverseView< K, T > ReverseView [get]
 
this[int index] [get]
 
bool IsFrozen [get]
 
First [get]
 
Last [get]
 
int ObserverCount [get]
 Returns the number of tree observers attached to this list. More...
 
- Properties inherited from Loyc.Collections.ICount
int Count [get]
 Gets the number of items in the collection. More...
 
- Properties inherited from Loyc.Collections.IIsEmpty
bool IsEmpty [get]
 

Public Member Functions

IEnumerator< V > GetEnumerator ()
 
IEnumerator< V > GetEnumeratorCore (int index)
 
System.Collections.IEnumerator
System.Collections.IEnumerable. 
GetEnumerator ()
 
void Add (V item)
 Adds a new item associated with the key that this object represents. Allows duplicate values. More...
 
void Clear ()
 
bool Contains (V item)
 
void CopyTo (V[] array, int arrayIndex)
 
bool Remove (V item)
 
- Public Member Functions inherited from Loyc.Collections.BMultiMap< K, V >
 BMultiMap (int maxLeafSize)
 
 BMultiMap (int maxLeafSize, int maxInnerSize)
 
 BMultiMap (Func< K, K, int > compareKeys)
 
 BMultiMap (Func< K, K, int > compareKeys, Func< V, V, int > compareValues)
 
 BMultiMap (Func< K, K, int > compareKeys, Func< V, V, int > compareValues, int maxLeafSize)
 
 BMultiMap (Func< K, K, int > compareKeys, Func< V, V, int > compareValues, int maxLeafSize, int maxInnerSize)
 
bool AddIfUnique (K key, V value)
 Adds a key-value pair if there is not already a pair that compares equal to the new one. More...
 
bool ContainsKey (K key)
 Finds out whether the specified key is present. More...
 
int FirstIndexOf (K key)
 Finds the lowest index of an item with the specified key. More...
 
bool RemoveAny (K key)
 Removes one pair from the collection that matches the specified key. More...
 
int Remove (K key, int maxToRemove)
 Removes up to a specified number of items from the collections that have the specified key. More...
 
int RemoveAll (K key)
 Removes all the items from the collection whose key compares equal to the specified key. More...
 
bool TryGetValue (K key, out V value)
 Finds a value associated with the specified key. More...
 
void Add (K key, V value)
 
int FindLowerBound (K key)
 Finds the lowest index of an item that is equal to or greater than the specified item. More...
 
int FindLowerBound (K key, out bool found)
 
int FindLowerBound (K key, out V value, out bool found)
 
int FindLowerBound (ref K key, out V value, out bool found)
 
int FindUpperBound (K key)
 Finds the index of the first item in the list whose key is greater than the specified key. More...
 
int FindLowerBoundExact (ref K key, out V value, out bool found)
 Does the same thing as IndexOfExact, but with the same set of arguments as FindLowerBound including the value associated with the matching key. More...
 
int IndexOfExact (K key)
 Specialized search function that finds the first index of an item whose key compares equal to the specified key, not only according to the comparison function for this collection, but also according to Object.Equals. This function works properly even if duplicate keys exist in addition that do NOT compare equal according to Object.Equals. More...
 
- Public Member Functions inherited from Loyc.Collections.BList< T >
 BList ()
 Initializes an empty BList. More...
 
 BList (int maxLeafSize)
 
 BList (int maxLeafSize, int maxInnerSize)
 
 BList (Func< T, T, int > compareItems)
 
 BList (Func< T, T, int > compareItems, int maxLeafSize)
 
 BList (Func< T, T, int > compareItems, int maxLeafSize, int maxInnerSize)
 Initializes an empty BList. More...
 
 BList (BList< T > items, bool keepListChangingHandlers)
 
void Add (T item)
 
bool Remove (T item)
 Removes a single instance of the specified item. More...
 
int RemoveAll (T item)
 Removes all instances of the specified item. More...
 
int Do (AListOperation mode, ref T item)
 Adds, removes, or replaces an item in the list. More...
 
int Do (AListOperation mode, T item)
 
int AddRange (IEnumerable< T > e)
 Adds a set of items to the list, one at a time. More...
 
int RemoveRange (IEnumerable< T > e)
 Removes a set of items from the list, one at a time. More...
 
int DoRange (AListOperation mode, IEnumerable< T > e)
 Performs the same operation for each item in a series. Equivalent to calling Do(AListOperation,T) on each item. More...
 
BList< T > Clone ()
 
BList< T > Clone (bool keepListChangingHandlers)
 Clones a BList. More...
 
BList< T > CopySection (int start, int subcount)
 
BList< T > RemoveSection (int start, int count)
 
int IndexOf (T item)
 Finds the lowest index of an item that is equal to or greater than the specified item. More...
 
bool Contains (T item)
 Returns true if the list contains the specified item, and false if not. More...
 
int FindLowerBound (T item)
 Finds the lowest index of an item that is equal to or greater than the specified item. More...
 
int FindLowerBound (T item, out bool found)
 
int FindLowerBound (ref T item)
 
int FindLowerBound (ref T item, out bool found)
 
int FindUpperBound (T item)
 Finds the index of the first item in the list that is greater than the specified item. More...
 
int FindUpperBound (ref T item)
 
int IndexOfExact (T item)
 Specialized search function that finds the index of an item that not only compares equal to the specified item according to the comparison function for this collection, but is also equal according to Object.Equals. This function works properly even if duplicate items exist in addition that do NOT compare equal according to Object.Equals. More...
 
- Public Member Functions inherited from Loyc.Collections.AListBase< K, T >
void RemoveAt (int index)
 
void RemoveRange (int index, int amount)
 
int RemoveAll (Predicate< T > match)
 Removes all the elements that match the conditions defined by the specified predicate. More...
 
IEnumerable< int > IndexesOf (T item)
 Returns a sequence of integers that represent the locations where a given item appears in the list. More...
 
virtual IEnumerable< int > IndexesOf (T item, int minIndex, int maxIndex)
 
int LinearScanFor (T item, int startIndex, EqualityComparer< T > comparer)
 Scans the list starting at startIndex and going upward, and returns the index of an item that matches the first argument. More...
 
void CopyTo (T[] array, int arrayIndex)
 
Enumerator GetEnumerator ()
 
Enumerator GetEnumerator (int startIndex)
 
Enumerator GetEnumerator (int start, int subcount)
 
Enumerator GetEnumerator (int start, int subcount, bool startAtEnd)
 
TryGet (int index, out bool fail)
 Gets the item at the specified index, and does not throw an exception on failure. More...
 
virtual void Freeze ()
 Prevents further changes to the list. More...
 
Slice_< T > Slice (int start, int length)
 Returns a sub-range of this list. More...
 
int GetImmutableCount ()
 Diagnostic method. Returns the number of elements of the list that are located in immutable nodes, which will be copied if modified. Used by the test suite. More...
 
virtual bool AddObserver (IAListTreeObserver< K, T > observer)
 Attaches a tree observer to this object. More...
 
virtual bool RemoveObserver (IAListTreeObserver< K, T > observer)
 Removes a previously attached tree observer from this list. More...
 
- Public Member Functions inherited from Loyc.Collections.ICollectionEx< T >
int RemoveAll (Predicate< T > match)
 Removes the all the elements that match the conditions defined by the specified predicate. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Loyc.Collections.BMultiMap< K, V >
int CompareKeyAndValue (KeyValuePair< K, V > a, KeyValuePair< K, V > b)
 
int CompareKeysOnly (KeyValuePair< K, V > a, KeyValuePair< K, V > b)
 
int UpperBoundCompare (KeyValuePair< K, V > candidate, KeyValuePair< K, V > searchKey)
 
- Protected Member Functions inherited from Loyc.Collections.BList< T >
 BList (BList< T > original, AListNode< T, T > section)
 
override AListNode< T, T > NewRootLeaf ()
 
override AListInnerBase< T, T > SplitRoot (AListNode< T, T > left, AListNode< T, T > right)
 
- Protected Member Functions inherited from Loyc.Collections.AListBase< K, T >
 AListBase (int maxLeafSize)
 
 AListBase (int maxLeafSize, int maxInnerSize)
 
 AListBase (AListBase< K, T > items, bool keepListChangingHandlers)
 Cloning constructor. Does not duplicate the observer (IAListTreeObserver{K,T}), if any, because it may not be cloneable. More...
 
 AListBase (AListBase< K, T > original, AListNode< K, T > section)
 This is the constructor that CopySection(), which can be defined by derived classes, should call to create a sublist of a list. Used in conjunction with CopySectionHelper(). More...
 
abstract AListInnerBase< K, T > SplitRoot (AListNode< K, T > left, AListNode< K, T > right)
 
virtual Enumerator NewEnumerator (uint start, uint firstIndex, uint lastIndex)
 
void CheckPoint ()
 
void AutoThrow ()
 
void AutoCreateOrCloneRoot ()
 
void AutoSplit (AListNode< K, T > splitLeft, AListNode< K, T > splitRight)
 
void HandleChangedOrUndersizedRoot (AListNode< K, T > result)
 
virtual void ClearInternal (bool forceClear)
 Clears the tree. More...
 
AListNode< K, T > CopySectionHelper (int start, int subcount)
 Together with the AListBase{K,T}.AListBase(AListBase{K,T},AListNode{K,T}) constructor, this method helps implement the CopySection() method in derived classes, by cloning a section of the tree. More...
 
AListNode< K, T > CopySectionHelper (uint start, uint subcount)
 
void SwapHelper (AListBase< K, T > other, bool swapObservers)
 Swaps two ALists. More...
 
- Protected fields inherited from Loyc.Collections.BMultiMap< K, V >
readonly Func< K, K, int > _compareKeys
 
readonly Func< V, V, int > _compareValues
 
- Protected fields inherited from Loyc.Collections.BList< T >
Func< T, T, int > _compareItems
 Compares two items. See Comparison{T}. More...
 
- Protected fields inherited from Loyc.Collections.AListBase< K, T >
uint _count
 
ushort _version
 
ushort _maxLeafSize
 
byte _maxInnerSize
 
byte _treeHeight
 
byte _freezeMode = NotFrozen
 
const byte NotFrozen = 0
 
const byte Frozen = 1
 
const byte FrozenForListChanging = 2
 
const byte FrozenForConcurrency = 3
 
- Protected static fields inherited from Loyc.Collections.BMultiMap< K, V >
static readonly Func< K, K, int > DefaultKComparison = Comparer<K>.Default.Compare
 
static readonly Func< V, V, int > DefaultVComparison = Comparer<V>.Default.Compare
 
static readonly Func
< KeyValuePair< K, V >
, KeyValuePair< K, V >, int > 
DefaultPairComparison
 
- Events inherited from Loyc.Collections.INotifyListChanging< T >
ListChangingHandler< T > ListChanging
 Occurs when the collection associated with this interface is about to change. More...
 

Member Function Documentation

void Loyc.Collections.BMultiMap< K, V >.ValueList.Add ( item)
inline

Adds a new item associated with the key that this object represents. Allows duplicate values.

Parameters
itemValue to add.