Skip to content

T_CodeJam_Ranges_Range_2

Andrew Koryavchenko edited this page Jun 17, 2018 · 4 revisions

Range(T, TKey) Structure

Describes a range of the values with a key attached.

Describes a range of the values.

Namespace: CodeJam.Ranges
Assembly: CodeJam (in CodeJam.dll) Version: 2.1.0.0

Syntax

C#

[SerializableAttribute]
public struct Range<T, TKey> : IEquatable<Range<T, TKey>>, 
	IFormattable

VB

<SerializableAttribute>
Public Structure Range(Of T, TKey)
	Implements IEquatable(Of Range(Of T, TKey)), 
	IFormattable

F#

[<SealedAttribute>]
[<SerializableAttribute>]
type Range<'T, 'TKey> =  
    struct
        interface IEquatable<Range<'T, 'TKey>>
        interface IFormattable
    end

Type Parameters

 

T
The type of the value. Should implement or .
TKey
The type of the range key
  The Range(T, TKey) type exposes the following members.

Constructors

 

Name Description
Public method Range(T, TKey)(T, T, TKey) Creates instance of
Public method Range(T, TKey)(RangeBoundaryFrom(T), RangeBoundaryTo(T), TKey) Creates instance of
  Back to Top

Properties

 

Name Description
Public property From Boundary From. Limits the values from the left.
Public property FromValue The value of Boundary From.
Public property IsEmpty The range is empty, ∅.
Public property IsInfinite The range is Infinite range (-∞..+∞).
Public property IsNotEmpty The range is NOT empty, ≠ ∅.
Public property IsSinglePoint The range is Zero length range (the values of the boundary From and the boundary To are the same).
Public property Key The value associated with the range.
Public property To Boundary To. Limits the values from the right.
Public property ToValue The value of Boundary To.
  Back to Top

Methods

 

Name Description
Public method Clamp Ensures that the value fits into a range.
Public method Contains(T) Determines whether the range contains the specified value.
Public method Contains(Range(T)) Determines whether the range contains another range.
Public method Contains(RangeBoundaryFrom(T)) Determines whether the range contains the specified range boundary.
Public method Contains(RangeBoundaryTo(T)) Determines whether the range contains the specified range boundary.
Public method Contains(T, T) Determines whether the range contains another range.
Public method Contains(TKey2)(Range(T, TKey2)) Determines whether the range contains another range.
Public method EndsBefore(T) Determines whether the range ends before the value specified.
Public method EndsBefore(Range(T)) Determines whether the range ends before the range specified.
Public method EndsBefore(RangeBoundaryFrom(T)) Determines whether the range ends before the boundary specified.
Public method EndsBefore(RangeBoundaryTo(T)) Determines whether the range ends before the boundary specified.
Public method EndsBefore(TKey2)(Range(T, TKey2)) Determines whether the range ends before the range specified.
Public method Equals(Object) Indicates whether the current range and a specified object are equal. (Overrides ValueType.Equals(Object).)
Public method Equals(Range(T, TKey)) Indicates whether the current range is equal to another.
Public method ExtendFrom(T) Extends the range from the left.
Public method ExtendFrom(RangeBoundaryFrom(T)) Extends the range from the left.
Public method ExtendTo(T) Extends the range from the right.
Public method ExtendTo(RangeBoundaryTo(T)) Extends the range from the right.
Public method GetHashCode Returns a hash code for the current range. (Overrides ValueType.GetHashCode().)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method HasIntersection(Range(T)) Determines whether the range has intersection with another range.
Public method HasIntersection(T, T) Determines whether the range has intersection with another range.
Public method HasIntersection(TKey2)(Range(T, TKey2)) Determines whether the range has intersection with another range.
Public method Intersect(Range(T)) Returns an intersection of the the ranges.
Public method Intersect(T, T) Returns an intersection of the the ranges.
Public method Intersect(TKey2)(Range(T, TKey2)) Returns an intersection of the the ranges.
Public method MakeExclusive Replaces inclusive boundaries with exclusive ones with the values from the selector callbacks
Public method MakeInclusive Replaces exclusive boundaries with inclusive ones with the values from the selector callbacks
Public method StartsAfter(T) Determines whether the range starts after the value specified.
Public method StartsAfter(Range(T)) Determines whether the range starts after the range specified.
Public method StartsAfter(RangeBoundaryFrom(T)) Determines whether the range starts after the boundary specified.
Public method StartsAfter(RangeBoundaryTo(T)) Determines whether the range starts after the boundary specified.
Public method StartsAfter(TKey2)(Range(T, TKey2)) Determines whether the range starts after the range specified.
Public method ToString() Returns string representation of the range. (Overrides ValueType.ToString().)
Public method ToString(IFormatProvider) Returns string representation of the range using the specified format string. If T does not implement the format string is ignored.
Public method ToString(String) Returns string representation of the range using the specified format string. If T does not implement the format string is ignored.
Public method ToString(String, IFormatProvider) Returns string representation of the range using the specified format string. If T does not implement the format string is ignored.
Public method TrimFrom(T) Trims the range from the left.
Public method TrimFrom(RangeBoundaryFrom(T)) Trims the range from the left.
Public method TrimTo(T) Trims the range from the right.
Public method TrimTo(RangeBoundaryTo(T)) Trims the range from the right.
Public method Union(T) Returns a union range containing original range and the value.
Public method Union(Range(T)) Returns a union range containing both of the ranges.
Public method Union(T, T) Returns a union range containing both of the ranges.
Public method Union(TKey2)(Range(T, TKey2)) Returns a union range containing both of the ranges.
Public method WithKey(TKey2) Creates a new range with the key specified.
Public method WithoutKey Creates a range without a range key.
Public method WithValues(T2)(Func(T, T2)) Updates the values of the boundaries of the range.
Public method WithValues(T2)(Func(T, T2), Func(T, T2)) Updates the values of the boundaries of the range.
  Back to Top

Operators

 

Name Description
Public operatorStatic member Equality Implements the operator ==.
Public operatorStatic member Inequality Implements the operator !=.
  Back to Top

Fields

 

Name Description
Public fieldStatic member Empty Empty range, ∅
Public fieldStatic member Infinite Infinite range, (-∞..+∞)
  Back to Top

See Also

Reference

CodeJam.Ranges Namespace
System.IComparable(T)
System.IComparable

Clone this wiki locally