Provided with an array of Comparers, this comparer produces a comarison value that allows a list to be sorted on first one key (defined by the first element in the array), then by another key (defined by the second element in the array), and so on. There is no limit to the number of comparers that may be provided.
A class of static Cryptography helper functions.
A utility class that contains some useful operations pertaining to DateTime objects.
A class of helper Operations focused on Dictionaries. This is an old class, kept for backward compatibility.
Comparer that can be used to sort Dictionary Entries by their keys' order using the System.Collections.Comparer.Default comparer.
A Utility class for convenience operations pertaining to directories.
An object of this class tracks the values that a double takes on, recording its initial, minimum, maximum, and final values. It relies on the user of the object to implement a watcher on the double of interest, that registers a new double value with this object whenever the double changes.
The EventedList class provides all of the standard List capabilities as well as the ability to emit events when the list changes its contents for whatever reason.
An EventTimeHistorian keeps track of the times at which the last 'N' events that were submitted to it occurred, and provides the average inter-event duration for those events. Historians with specific event-type-related data needs (other than simply the time of occurrence) can inherit from this class.
An exchange is a place where objects can post, read and or take tokens, either with a blocking or non-blocking call.
An ExchangeManager manages a set of ITupleSpace instances (Exchanges) that are used for coordination and synchronization between otherwise uncoupled elements of a simulation.
An ExecutionContext holds all of the information necessary to track one execution through a process structure. The process structure governs structure, and the ExecutionContext governs process-instance-specific data.
Generates a pseudorandom stream of Guids. Make sure that the maskGuid and seedGuids are 'sufficiently chaotic'. This generator is best used for testing. It is modeled after a linear feedback shift register. http://en.wikipedia.org/wiki/LFSR
A comparer used for sorting on Guids. Note - Guids are sorted by visual order, which is not the same as binary order for a number of reasons. If you want Guids in "Binary" sorted order, use the GuidComparer.
A comparer used for sorting on Guids. Note - Guids are sorted by binary order, which is not the same as display order for a number of reasons. If you want Guids in "Visually" sorted order, use the AsStringGuidComparer.
A comparer use for sorting implementers of IHasIdentity on their Guids.
Manages a hashtable of lists. This is useful for maintaining collections of keyed entries where the keys are duplicated across multiple entries.
|HashtableOfLists<(Of <(<'TKey, TValue>)>)>||
Manages a hashtable of lists of values. The keys are of type TKey, and the lists contain elements of type TValue. This is useful for maintaining collections of keyed entries where the keys are duplicated across multiple entries.
A binary heap can be efficiently implemented as an array, where a node at index i has children at indexes 2i and 2i+1 and a parent at index i/2, with one-based indexing.
Class IndexingFailedException - thrown when indexing has failed.
Marker class for use as an exception fired on initialization failure.
A manager to which a class that implements a Label can delegate.
This class represents a manager for events that are all generated and consumed within a local object (such as a tool's inner workings). It schedules only the soonest event, and ensures that when that soonest event is serviced, the next 'soonest' event will then be scheduled.
It currently requires that each event fed into it be the furthest-out event. In other words, it is a FIFO queue and assumes that its user will ensure temporal sequence in the events fed into it.
If you do not expect to be able to follow the temporal restrictions, use the LocalEventHeap class instead.
MissingParameterException is thrown when a required parameter is missing. Typically used in a late bound, read-from-name/value pair collection scenario.
Summary description for MultiArrayListEnumerator.
Service that provides serial numbers.
Summary description for StringOperations.
Wrapper for some key System Info functions.
A utility class that contains some useful operations pertaining to TimeSpan objects.
Want to be able to use TreeNode as either a base class, a container or a wrapper.
A class that manages parent &child relationships in a tree. Objects that participate in the tree can delegate to this class to manage the relationships. This class provides an object with its parent, its child list, events on the addition & removal of others and itself from the tree, enables sorting & sequencing of the members of the tree, and will, if set up as an auto-indexing TreeNodeHelper, will perform indexing of the node's children based on their guids, if they implement IHasIdentity.
Class UniqueNameGenerator creates unique names. When asked for GetNextName("Dog") the first time, it produces "Dog:0". When asked for GetNextName("Dog") the second time, it produces "Dog:1". When asked for GetNextName("Cat") the first time, it produces "Cat:0". And so on. It is intended when automatically creating, say, 100 objects of type Restaurant, one would call myUniqueNameGenerator.GetNextName(typeof(Restaurant).Name, 3, false) to create Restaurant:001, Restaurant:002, Restaurant:003, etc.
A hashtable whose entries are weak - that is, if the underlying object is discarded from the runtime, so is the entry in the hashtable.
A list of objects that are held behind weak references. The list is not collapsed until explicitly told to do so.
Class XmlTransform converts xml to non-xml and vice versa by changing angle-brackets to ampersand-l-t's, etc, and vice versa.
Struct NameValuePair contains a string name, and an object value.
Struct NameValuePair contains a string name, and a value of type T.
A struct that shadows a boolean in, for example, a temperature controller, and indicates whether that boolean is to is to be read as its default state, or as an overridden value.
A struct that shadows a double in, for example, a temperature controller, and indicates whether that double is to be read as its default state, or as an overridden value.
An object implementing this interface tracks the values that a double takes on, registering its initial, minimum, maximum, and final values. This interface is just the public face of the bookkeeping. See class DoubleTracker.
Implemented by an object that is capable of managing context-specific labels.
Implemented by an object that has a serial number.
Implemeted by an object that is sortable, and has SortKeys
Implemented by a class that is capable of allocating & assigning index slots in a population of ISupportsIndexes objects.
A Sort Key is an object that can be used to sort a collection of objects, and can be presented to a user for selection.
This interface is implemented by an object that is required to support index numbers. That is, another (perhaps manager) object will want to refer to objects of this type by index numbers that it, itself, assigns.
ITreeNode is implemented by something that is a node in a tree - it has zero or one parent and zero or more children.
The ITreeNode interface is implemented by any object that participates in a tree data structure. An object may derive from TreeNode<T> or implement ITreeNode<T>.
Implemented by an object that will implement ITreeNode, but act as a proxy for another object that actually owns the parent/child relationships.
Interface ITuple is a key/data pair. It is used only in the TupleSpace implementation
Interface ITupleSpace describes a simple tupleSpace, perhaps better thought of as a whiteboard or exchange. Things are posted (added), read, and removed according to a provided key value.
Signature of events that pertain to an EventedList and a collection of items related to that list.
Signature of events that pertain to an EventedList and one of its items.
Signature of events that pertain to an EventedList an old item and a new item - preesumably items added to, or removed from, that list.
Signature of events that pertain only to an EventedList.
Signature of events that pertain only to an EventedList and a predicate to be applied to items in that list.
Signature of events that pertain to an EventedList and a numeric range of entries in that list.
An event that pertains to some change in the tree underneath a given node.
An event that pertains to some change in relationship between two nodes.
Delegate TreeNodeInteractionEvent is used for any event on subject treenode, concerning obj treenode.
Enum HEAP_RULE - MinValue builds a heap with the
The types of subtree changes reported by the Tree Support classes.
Describes a participant's role in a handoff through a TupleSpace.