Struct LinkStruct<T1, T2>
Represents a link between objects.
Implements
Namespace: Towel.DataStructures
Assembly: Towel.dll
Syntax
public struct LinkStruct<T1, T2> : Link, IDataStructure<object>, ISteppable<object>, System.Collections.Generic.IEnumerable<object>, System.Runtime.CompilerServices.ITuple, ICloneable<LinkStruct<T1, T2>>
Type Parameters
Name | Description |
---|---|
T1 | The type of #1 value in the link. |
T2 | The type of #2 value in the link. |
Constructors
| Improve this Doc View SourceLinkStruct(T1, T2)
Creates a link between objects.
Declaration
public LinkStruct(T1 value1, T2 value2)
Parameters
Type | Name | Description |
---|---|---|
T1 | value1 | The #1 value to be linked. |
T2 | value2 | The #2 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 |
Methods
| Improve this Doc View SourceClone()
Clones a T
.
Declaration
public LinkStruct<T1, T2> Clone()
Returns
Type | Description |
---|---|
LinkStruct<T1, T2> | A clone of the |
Deconstruct(out T1, out T2)
Deconstructs the link.
Declaration
public void Deconstruct(out T1 value1, out T2 value2)
Parameters
Type | Name | Description |
---|---|---|
T1 | value1 | The #1 value of the link. |
T2 | value2 | The #2 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(LinkStruct<T1, T2>)
Check for equality with another link.
Declaration
public bool Equals(LinkStruct<T1, T2> b)
Parameters
Type | Name | Description |
---|---|---|
LinkStruct<T1, T2> | 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) to LinkStruct<T1, T2>)
Converts a tuple to a link.
Declaration
public static implicit operator LinkStruct<T1, T2>((T1, T2) tuple)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<T1, T2> | tuple | The tuple to convert to a link. |
Returns
Type | Description |
---|---|
LinkStruct<T1, T2> |
Implicit(Link<T1, T2> to LinkStruct<T1, T2>)
Converts a class link to a struct link.
Declaration
public static implicit operator LinkStruct<T1, T2>(Link<T1, T2> link)
Parameters
Type | Name | Description |
---|---|---|
Link<T1, T2> | link | The class link to convert to a struct link. |
Returns
Type | Description |
---|---|
LinkStruct<T1, T2> |
Implicit(LinkStruct<T1, T2> to (T1, T2))
Converts a link to a tuple.
Declaration
public static implicit operator (T1, T2)(LinkStruct<T1, T2> link)
Parameters
Type | Name | Description |
---|---|---|
LinkStruct<T1, T2> | link | The link to convert to a tuple. |
Returns
Type | Description |
---|---|
System.ValueTuple<T1, T2> |
Implicit(LinkStruct<T1, T2> to Tuple<T1, T2>)
Converts a link to a tuple.
Declaration
public static implicit operator Tuple<T1, T2>(LinkStruct<T1, T2> link)
Parameters
Type | Name | Description |
---|---|---|
LinkStruct<T1, T2> | link | The link to convert to a tuple. |
Returns
Type | Description |
---|---|
Tuple<T1, T2> |
Implicit(Tuple<T1, T2> to LinkStruct<T1, T2>)
Converts a tuple to a link.
Declaration
public static implicit operator LinkStruct<T1, T2>(Tuple<T1, T2> tuple)
Parameters
Type | Name | Description |
---|---|---|
Tuple<T1, T2> | tuple | The tuple to convert to a link. |
Returns
Type | Description |
---|---|
LinkStruct<T1, T2> |