Click or drag to resize

Altaxo.Collections Namespace

Contains collection types and collection-related helpers.
Classes
 ClassDescription
Public classArrayExtensions Provides some extensions for arrays.
Public classAscendingIntegerCollection Stores a number of arbitrary integer values in ascending order.
Public classAscendingIntegerRangeCollection Implements a collection of ascending integers, that are stored in a list of ranges.
Public classBoxedT Boxes a single value into a class. The value can be get/set by the property Value. Since the value is accessible by a property, this class can be used in collections as data sources for data grids, etc. For this, it additionally implements both INotifyPropertyChanged and IEditableObject
Public classCachedObjectManagerByMaximumNumberOfItemsTKey, TValue Manages a bunch of cached objects. The cached objects are accessed by a key. In this instance, more than one object with the same key can be stored, but it is presumed that all objects which are stored under the same key are considered equal. Usage: Try to take out a cached object with TryTake(TKey, TValue). If no such object exists, create a new one. After usage of the object, put it back with Add(TKey, TValue). If after adding an object more than the allowed number of objects exists, the object which is used the least will be removed from that instance. The methods in this instance are thread safe.
Public classCheckableSelectableListNode Represents a SelectableListNode that can additionally be in the checked or unchecked state.
Public classCheckableSelectableListNodeList Collection of CheckableSelectableListNodes.
Public classConcurrentPriorityQueueTKey, TValue Implements a heap-based priority queue that holds only keys. The key with the minimum value can then be retrieved from the queue. This class is not thread safe.
Public classConcurrentTokenizedLinkedListTKey, TValue Concurrent linked list with the restriction that its members are unique, i.e. an item identified by a key can appear only once in the list.
Public classConcurrentTokenizedPriorityQueueTKey, TValue, TToken Represents a tokenized concurrent priority queue. Inserted items are associated with a token that can later be used to modify the item in the queue. There are two function sets to add queue items, depending on whether or not the queue is generating tokens by itself. Use Enqueue... functions if the tokens are generated by the queue itself, or use Add.. functions if you provide the token.
Public classDictionaryWithNullableKeyTKey, TValue Provides a dictionary, in which one of the keys (and only one) can be null.
Public classEnumerableExtensions Extensions to the IEnumerable interface.
Public classEnumerationExtensions Extends the operations for Flag Enumerations with setting and clearing of individual flags.
Public classIndexSelection Represents a selection of indices that mimics list selection behavior, using the CTRL key to select single items and the SHIFT key to select multiple items.
Public classListDictionaryTKey, TValue Dictionary that retains the order of the entries by which they are added, thus effectively combining a list (of its values) with fast access by a key. The only two methods that can modify this class are Clear and Add(TKey, TValue).
Public classListExtensions Supports movement of selected items up/down in a list.
Public classListNode Represents an item for list controls where display text is shown, but the associated object must also be retained.
Public classListNodeList Observable collection of ListNodes.
Public classMultipleSelectableListNodeList A list of selectable items. Multiple selections are allowed. If the selection of one of the items changed, a property changed event for the property SelectedItems is raised.
Public classNamedItemT Associates an item with a display name.
Public classNamedItemListT List of INamedItem instances, with support for INotifyCollectionChanged
Public classNavigationListT Implements a list that can be used to navigate forward or backward using stored navigation points.
Public classNGTreeNode Represents a non GUI tree node that can be used for interfacing/communication with Gui components.
Public classNGTreeNodeWithImageIndex Adds to NGTreeNode the ability to store ImageIndex and SelectedImageIndex.
Public classObservableCollectionReversingWrapperT Wraps an observable collection, so that the elements appear in reverse order compared to the original collection.
Public classObservableListT Generic list that implements the INotifyCollectionChanged interface to notify changes. Additionally implements MoveToLowerIndex(Int32), MoveToHigherIndex(Int32), and AddRange(IEnumerableT).
Public classPartialDictionaryTKey, TBaseValue, TDerivValue Represents a dictionary view that exposes only entries of a derived value type from a parent dictionary of a base value type.
Public classPartitionableListT List of items of class T. From this list partitions can be created, which basically are views inside this list, which have certain selection criteria. See remarks for details.
Protected classPartitionableListTPartialViewM Generic partial view class for a partitionable list, supporting selection criteria and insertion behavior.
Protected classPartitionableListTPartialViewBase Non-generic base class for partial views, allowing safe casting and management of views of different types.
Protected classPartitionableListTTemporaryDisabler Helper class to temporarily disable something, e.g. some events. By calling Disable one gets a disposable token, that, when disposed, enables again, which fires then the action that is given as parameter to the constructor. It is possible to make nested calls to Disable. In this case all tokens must be disposed before the IsEnabled is again true and the re-enabling action is fired.
Public classPriorityQueueTKey Implements a heap-based priority queue that holds only keys. The key with the minimum value can then be retrieved from the queue. This class is not thread safe.
Public classRenameableItemListT Represents a list of renameable items and keeps its name index synchronized with rename operations.
Public classRingBufferT Represents a generic ring buffer. This class is not thread safe. Note that there is no automatic overflow handling; adding an item to a full buffer throws an exception.
Public classRingBufferEnqueueableOnlyT Ring buffer that stores elements in a ring-buffer like fashion. Elements can only be enqueued, but not dequeued. The oldest element will be overwritten, if a new element is enqueued and the capacity is reached. Elements can be accessed by index; the newest element is accessed by index 0.
Public classSelectableListNode Represents a ListNode that can be either selected or unselected.
Public classSelectableListNodeList Collection of SelectableListNodes.
Public classSelectableListNodeListHelper Extension methods for SelectableListNodeList.
Public classSelectableListNodeWithParent A list node that is used by SingleSelectableListNodeList in order to make sure that only one of the elements is selected.
Public classSetListT Class which holds unique items in the order in which they are added (like a List, but with the difference that only unique items can be contained).
Public classSingleSelectableListNodeList A list of selectable items. It is ensured, that either none or maximal one of the items is selected. If one item is selected, the other item that was selected before will be deselected.
Public classSingleSelectableListNodeListTValue Represents a SingleSelectableListNodeList with a strongly typed selected value.
Public classStringRow Represents a row of string values.
Public classSystemCollectionsArrayListXmlSerializationSurrogate0 XML serialization surrogate for ArrayList.
Public classSystemCollectionsListOfObjectListXmlSerializationSurrogate0 XML serialization surrogate for ListT.
Public classThreeStringRow Represents a StringRow with three columns.
Public classTreeNodeExtensions Implements algorithms common for all trees.
Public classTwoStringRow Represents a StringRow with two columns.
Public classWeakCollectionT A collection that allows its elements to be garbage-collected unless there are other references to the elements. Elements will disappear from the collection when they are garbage-collected. The WeakCollection is not thread-safe, not even for read-only access. No methods may be called on the WeakCollection while it is enumerated, not even a Contains or creating a second enumerator. The WeakCollection does not preserve any order among its contents; the ordering may be different each time the collection is enumerated. Since items may disappear at any time when they are garbage collected, this class cannot provide a useful implementation for Count and thus cannot implement the ICollection interface.
Public classWeakDictionaryTKey, TValue Represents a dictionary that holds weak references to its keys, allowing keys to be garbage collected when no longer referenced elsewhere.
Protected classWeakDictionaryTKey, TValueWeakKeyT Represents a weak reference to a key, storing its hash code for dictionary operations.
Structures
 StructureDescription
Public structureContiguousIntegerRange Represents a range of consecutive integers. The range can be empty (in this case both Start as well as Count are zero).
Public structureContiguousNonNegativeIntegerRange Represents a range of consecutive non-negative integers.
Interfaces
 InterfaceDescription
Public interfaceIArrayT Represents a mutable array-like collection with indexed access.
Public interfaceIAscendingIntegerCollection Sorted collection of integers, sorted so that the smallest integers come first.
Public interfaceIContiguousIntegerRange Represents a contiguous range of integers.
Public interfaceINamedItem Defines an item that has an associated name.
Public interfaceINodeWithParentNodeT Defines an interface for a node with a parent node.
Public interfaceIObservableListT Interface for an observable list supporting move operations and collection change notifications.
Public interfaceIReadOnlyListDictionaryTKey, TValue Interface that combines a read-only dictionary and a list of its values.
Public interfaceIRenameableItem Interface to an item that has a name, and whose name can be changed.
Public interfaceISelectableItem Interface of an item that can be either selected or unselected.
Public interfaceISwappableListT Extends the IList interface by a function that allows swapping two items by index.
Public interfaceITreeListNodeT Defines a tree node, where the children can be accessed by index. There is no reference to the node's parent.
Public interfaceITreeListNodeWithParentT Defines a tree node with parent. The child nodes can be accessed by index.
Public interfaceITreeNodeT Defines a simple tree node, where the child nodes are enumerable. There is no reference to the node's parent.
Public interfaceITreeNodeWithParentT Defines a simple tree node with parent.
Public interfaceITreeSwappableListNodeT Defines a tree node, where the children can be accessed by index and swapped. There is no reference to the node's parent.
Public interfaceNGTreeNodeCollection Represents a collection of NGTreeNode.
Public interfacePartitionableListTISuspendToken Token interface for suspending and resuming events.
Public interfaceSelectableListNodeWithParentIParent Defines the contract for a parent object that reacts to selection changes of its child nodes.
Enumerations
 EnumerationDescription
Public enumerationIndexDirection Direction in which list elements will be handled.
Public enumerationPartitionableListAddBehavior Determines the behavior when an item is inserted in the PartitionableList.