Proton DotNet
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Properties | List of all members
Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V > Class Template Referencesealed

A Linked node version of the Splayed Dictionary that provides consisted enumeration of dictionary entries based on insertion order over natural or comparer based enumeration from the default splayed dictionary implementation. More...

Inheritance diagram for Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >:
Apache.Qpid.Proton.Utilities.SplayedDictionary< K, V >

Public Member Functions

 LinkedSplayedDictionary (IComparer< K > comparer)
 
 LinkedSplayedDictionary (IDictionary< K, V > source)
 
override void CopyTo (KeyValuePair< K, V >[] array, int arrayIndex)
 
override void CopyTo (Array array, int arrayIndex)
 
override void Clear ()
 
override IEnumerator< KeyValuePair< K, V > > GetEnumerator ()
 
- Public Member Functions inherited from Apache.Qpid.Proton.Utilities.SplayedDictionary< K, V >
 SplayedDictionary ()
 Create a new Splayed Dictionary instance that uses a default key comparer instance to provide relative ordering of keys within the mapping.
 
 SplayedDictionary (IComparer< K > comparer)
 Create a new Splayed Dictionary instance that uses the give key comparer instance to provide relative ordering of keys within the mapping.
 
 SplayedDictionary (IDictionary< K, V > source)
 Create a new Splayed Dictionary instance that uses the give key comparer instance to provide relative ordering of keys within the mapping.
 
void Add (K key, V value)
 
void Add (KeyValuePair< K, V > item)
 
void Add (object key, object value)
 
bool Contains (object key)
 
bool Contains (KeyValuePair< K, V > item)
 
bool ContainsValue (V value)
 
bool ContainsKey (K key)
 
void Remove (object key)
 
bool Remove (K key)
 
bool RemoveValue (V target)
 Removes the first entry from the dictionary that contains the specified value and returns true, if there is no entry with the given value this method returns false.
 
bool Remove (KeyValuePair< K, V > item)
 
bool TryGetValue (K key, [MaybeNullWhen(false)] out V value)
 

Protected Member Functions

override void EntryAdded (SplayedEntry newEntry)
 
override void EntryDeleted (SplayedEntry deletedEntry)
 
- Protected Member Functions inherited from Apache.Qpid.Proton.Utilities.SplayedDictionary< K, V >
void Delete (SplayedEntry node)
 

Properties

override ICollection< K > Keys [get]
 
override ICollection< V > Values [get]
 
- Properties inherited from Apache.Qpid.Proton.Utilities.SplayedDictionary< K, V >
int Count [get]
 
bool IsReadOnly [get]
 
IComparer< K > Comparer [get]
 
bool IsFixedSize [get]
 
bool IsSynchronized [get]
 
object SyncRoot [get]
 
this[K key] [get, set]
 
object this[object key] [get, set]
 
virtual ICollection< K > Keys [get]
 
virtual ICollection< V > Values [get]
 

Additional Inherited Members

- Protected Attributes inherited from Apache.Qpid.Proton.Utilities.SplayedDictionary< K, V >
readonly RingQueue< SplayedEntryentryPool = new(64)
 Pooled entries used to prevent excessive allocations for rapid insert and removal operations.
 
SplayedEntry root
 Root of the tree which can change as entries are splayed up and down the tree.
 
int size
 Tracked tree size to prevent traversals for size operations.
 
int modCount
 Provides a means of tracking modification during enumeration errors.
 
ICollection< K > keySet
 Cached collection object that provides access to the dictionary keys.
 
ICollection< V > values
 Cached collection object that provides access to the dictionary values.
 

Detailed Description

A Linked node version of the Splayed Dictionary that provides consisted enumeration of dictionary entries based on insertion order over natural or comparer based enumeration from the default splayed dictionary implementation.

Template Parameters
TThe type contained in the Queue

Member Function Documentation

◆ Clear()

override void Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.Clear ( )
inlinevirtual

◆ CopyTo() [1/2]

override void Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.CopyTo ( Array  array,
int  arrayIndex 
)
inlinevirtual

◆ CopyTo() [2/2]

override void Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.CopyTo ( KeyValuePair< K, V >[]  array,
int  arrayIndex 
)
inlinevirtual

◆ EntryAdded()

override void Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.EntryAdded ( SplayedEntry  newEntry)
inlineprotectedvirtual

◆ EntryDeleted()

override void Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.EntryDeleted ( SplayedEntry  deletedEntry)
inlineprotectedvirtual

◆ GetEnumerator()

override IEnumerator< KeyValuePair< K, V > > Apache.Qpid.Proton.Utilities.LinkedSplayedDictionary< K, V >.GetEnumerator ( )
inlinevirtual

The documentation for this class was generated from the following file: