Class Link<T1, T2, T3>
Represents a link between objects.
Inheritance
Implements
Namespace: Towel.DataStructures
Assembly: Towel.dll
Syntax
public class Link<T1, T2, T3> : object, Link, IDataStructure<object>, ISteppable<object>, System.Collections.Generic.IEnumerable<object>, System.Runtime.CompilerServices.ITuple, ICloneable<Link<T1, T2, T3>>
Type Parameters
Name | Description |
---|---|
T1 | The type of #1 value in the link. |
T2 | The type of #2 value in the link. |
T3 | The type of #3 value in the link. |
Constructors
| Improve this Doc View SourceLink(T1, T2, T3)
Constructs a link of values.
Declaration
public Link(T1 value1, T2 value2, T3 value3)
Parameters
Type | Name | Description |
---|---|---|
T1 | value1 | The #1 value to be linked. |
T2 | value2 | The #2 value to be linked. |
T3 | value3 | The #3 value to be linked. |
Properties
| Improve this Doc View SourceItem[Int32]
Declaration
public object this[int index] { get; }
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index |
Property Value
Type | Description |
---|---|
System.Object |
Size
The number of values in the tuple.
Declaration
public int Size { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Value1
The #1 value of the link.
Declaration
public T1 Value1 { get; set; }
Property Value
Type | Description |
---|---|
T1 |
Value2
The #2 value of the link.
Declaration
public T2 Value2 { get; set; }
Property Value
Type | Description |
---|---|
T2 |
Value3
The #3 value of the link.
Declaration
public T3 Value3 { get; set; }
Property Value
Type | Description |
---|---|
T3 |
Methods
| Improve this Doc View SourceClone()
Clones a T
.
Declaration
public Link<T1, T2, T3> Clone()
Returns
Type | Description |
---|---|
Link<T1, T2, T3> | A clone of the |
Deconstruct(out T1, out T2, out T3)
Deconstructs the link.
Declaration
public void Deconstruct(out T1 value1, out T2 value2, out T3 value3)
Parameters
Type | Name | Description |
---|---|---|
T1 | value1 | The #1 value of the link. |
T2 | value2 | The #2 value of the link. |
T3 | value3 | The #3 value of the link. |
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj |
Returns
Type | Description |
---|---|
System.Boolean |
Equals(Link<T1, T2, T3>)
Check for equality with another link.
Declaration
public bool Equals(Link<T1, T2, T3> b)
Parameters
Type | Name | Description |
---|---|---|
Link<T1, T2, T3> | b | The other link to check for equality with. |
Returns
Type | Description |
---|---|
System.Boolean | True if equal; false if not. |
GetEnumerator()
Declaration
public System.Collections.Generic.IEnumerator<object> GetEnumerator()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerator<System.Object> |
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
System.Int32 |
StepperBreak<TStep>(TStep)
Traverses values and invokes a function on every T
value.
Declaration
public StepStatus StepperBreak<TStep>(TStep step = default(TStep))
where TStep : struct, IFunc<object, StepStatus>
Parameters
Type | Name | Description |
---|---|---|
TStep | step | The function to invoke on every |
Returns
Type | Description |
---|---|
StepStatus | The status of the traversal. |
Type Parameters
Name | Description |
---|---|
TStep | The type of function to invoke on every |
ToArray()
Constructs an array with the values of this data structure.
Declaration
public object[] ToArray()
Returns
Type | Description |
---|---|
System.Object[] | An array with the values of this data structure. |
Types()
Gets the types of the values of this link.
Declaration
public Type[] Types()
Returns
Type | Description |
---|---|
Type[] | The types of the values of this link. |
Operators
| Improve this Doc View SourceImplicit((T1, T2, T3) to Link<T1, T2, T3>)
Converts a tuple to a link.
Declaration
public static implicit operator Link<T1, T2, T3>((T1, T2, T3) tuple)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<T1, T2, T3> | tuple | The tuple to convert to a link. |
Returns
Type | Description |
---|---|
Link<T1, T2, T3> |
Implicit(Link<T1, T2, T3> to (T1, T2, T3))
Converts a link to a tuple.
Declaration
public static implicit operator (T1, T2, T3)(Link<T1, T2, T3> link)
Parameters
Type | Name | Description |
---|---|---|
Link<T1, T2, T3> | link | The link to convert to a tuple. |
Returns
Type | Description |
---|---|
System.ValueTuple<T1, T2, T3> |
Implicit(Link<T1, T2, T3> to Tuple<T1, T2, T3>)
Converts a link to a tuple.
Declaration
public static implicit operator Tuple<T1, T2, T3>(Link<T1, T2, T3> link)
Parameters
Type | Name | Description |
---|---|---|
Link<T1, T2, T3> | link | The link to convert to a tuple. |
Returns
Type | Description |
---|---|
Tuple<T1, T2, T3> |
Implicit(LinkStruct<T1, T2, T3> to Link<T1, T2, T3>)
Converts a class link to a struct link.
Declaration
public static implicit operator Link<T1, T2, T3>(LinkStruct<T1, T2, T3> link)
Parameters
Type | Name | Description |
---|---|---|
LinkStruct<T1, T2, T3> | link | The class link to convert to a struct link. |
Returns
Type | Description |
---|---|
Link<T1, T2, T3> |
Implicit(Tuple<T1, T2, T3> to Link<T1, T2, T3>)
Converts a tuple to a link.
Declaration
public static implicit operator Link<T1, T2, T3>(Tuple<T1, T2, T3> tuple)
Parameters
Type | Name | Description |
---|---|---|
Tuple<T1, T2, T3> | tuple | The tuple to convert to a link. |
Returns
Type | Description |
---|---|
Link<T1, T2, T3> |