Namespace Garyon.Objects
Classes
- AppVersionInfo
Provides version information about the application, usually parsed from AssemblyInformationalVersionAttribute.
- AsyncMemoizationDictionary<TInput, TOutput>
Encapsulates a memoization dictionary for caching outputs of an async function.
- BaseEquatable<T>
A base implementation of IEquatable<T>, overriding the Equals(object) method, and implementing the interface, with focus on comparing the non-null instance via EqualsCore(T).
- CacheableBigInteger
Provides a mechanism that optimally handles operations on a BigInteger instance by caching smaller chunks of values before being applied to the big boi.
- CancellationTokenFactory
Provides a CancellationTokenSource that will be re-instantiated after every cancellation.
- ComparisonKindsExtensions
Contains extensions for the ComparisonKinds enum.
- EntryKeyComparer<TKey, TValue>
Represents a KeyValuePair<TKey, TValue> comparer, where the result only relies on the comparison result between the keys.
- EntryKeyOverValueComparer<TKey, TValue>
Represents a KeyValuePair<TKey, TValue> comparer, where the result relies on the comparison result between the keys, and then the values, if the keys are equal.
- EntryValueComparer<TKey, TValue>
Represents a KeyValuePair<TKey, TValue> comparer, where the result only relies on the comparison result between the values.
- EntryValueOverKeyComparer<TKey, TValue>
Represents a KeyValuePair<TKey, TValue> comparer, where the result relies on the comparison result between the values, and then the keys, if the values are equal.
- ExtremumExtensions
Provides extension functions for the Extremum enum.
- LabelledObject<T>
Represents a object that is labelled with a name.
- LineStringBuilder
Provides mechanisms and functions to building a multiline string.
- MemoizationDictionary<TInput, TOutput>
Encapsulates a memoization dictionary for caching outputs of a function that could be expensive to compute.
- MessageRequestChannel
Represents a message request channel that allows writing requests for a single operation.
- OpenInterval<T>
Represents an open interval to the one direction from a given value.
- RepeatedValueCollection<T>
Represents a collection that consists of the same repeated value the specified number of times.
- SharedInstanceExtensions
Provides extensions for types implementing ISharedInstance.
- Singleton<T>
Provides a single instance of a type.
- SpanYielding
Provides helper methods for yielding values from a factory into a Span<T>.
- StructRefHelperExtensions
Provides extensions related to StructRef<T>.
- StructRef<T>
Provides the ability to store a reference to an unmanaged struct without using pointers.
- TypeValueCounterDictionary
Represents a ValueCounterDictionary<TKey> storing keys of type Type.
- ValueBounds<T>
Contains the minimum and maximum values that were discovered from a collection.
- VariablyLabelledObject<T>
Represents a object that is labelled with a name that may variably change.
- Yielding
Provides helper methods for handling yielded values from factory methods.
Structs
- HourMinute
Represents a time instance with the hour and minute.
- MinuteSecond
Represents a time instance with the minute and second.
- RepeatedValueCollection<T>.Enumerator
Provides an enumerator for a RepeatedValueCollection<T> instance.
- SpanYielder<T>
Provides mechanisms for convenient yielding of a factory's values into a Span<T>, with multiple yield operations applying after the previously iterated indices.
- Yielder<T>
Provides mechanisms for convenient yielding of a factory's values.
Interfaces
- ICloneable<T>
Denotes that an object is cloneable into a target type, usually itself.
- ICopyable<TTarget>
Denotes that an object is copyable into a target instance, usually of another type.
- IFullKeyValuePairComparer<TKey, TValue>
Represents a comparer for KeyValuePair<TKey, TValue> that demands that both the key and the value implement IComparable<T>.
- IHasHour
Represents a time object that has an hour component.
- IHasMinute
Represents a time object that has a minute component.
- IHasSecond
Represents a time object that has a second component.
- IKeyValuePairComparer<TKey, TValue>
Represents a comparer for KeyValuePair<TKey, TValue>.
- ISharedInstance
Defines that a type has a shared instance accessible via Garyon.Objects.SharedInstanceExtensions.get_Shared<T>().
- ITimeObject
Represents a time object.
Enums
- ComparisonKinds
Represents comparison kinds.
- ComparisonResult
Represents the result of a comparison.
- Extremum
Determines an extremum kind.
Delegates
- IndexedEnumeratedElementAction<T>
Represents a function that performs an action on an enumerated element, also provided its index in the enumeration order.
- KeySelector<TKey, TValue>
Represents a key selector function, which transforms a provided value into a key, within a KeyValuePair<TKey, TValue>.
- ValueSelector<TKey, TValue>
Represents a value selector function, which transforms a provided key into a value, within a KeyValuePair<TKey, TValue>.