Struct LinkStruct<T1, T2, T3, T4, T5, T6, T7>
Represents a link between objects.
Implements
Namespace: Towel.DataStructures
Assembly: Towel.dll
Syntax
public struct LinkStruct<T1, T2, T3, T4, T5, T6, T7> : Link, IDataStructure<object>, ISteppable<object>, System.Collections.Generic.IEnumerable<object>, System.Runtime.CompilerServices.ITuple, ICloneable<LinkStruct<T1, T2, T3, T4, T5, T6, T7>>
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. |
| T4 | The type of #4 value in the link. |
| T5 | The type of #5 value in the link. |
| T6 | The type of #6 value in the link. |
| T7 | The type of #7 value in the link. |
Constructors
| Improve this Doc View SourceLinkStruct(T1, T2, T3, T4, T5, T6, T7)
Creates a link between objects.
Declaration
public LinkStruct(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7)
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. |
| T4 | value4 | The #4 value to be linked. |
| T5 | value5 | The #5 value to be linked. |
| T6 | value6 | The #6 value to be linked. |
| T7 | value7 | The #7 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 |
Value4
The #4 value of the link.
Declaration
public T4 Value4 { get; set; }
Property Value
| Type | Description |
|---|---|
| T4 |
Value5
The #5 value of the link.
Declaration
public T5 Value5 { get; set; }
Property Value
| Type | Description |
|---|---|
| T5 |
Value6
The #6 value of the link.
Declaration
public T6 Value6 { get; set; }
Property Value
| Type | Description |
|---|---|
| T6 |
Value7
The #7 value of the link.
Declaration
public T7 Value7 { get; set; }
Property Value
| Type | Description |
|---|---|
| T7 |
Methods
| Improve this Doc View SourceClone()
Clones a T.
Declaration
public LinkStruct<T1, T2, T3, T4, T5, T6, T7> Clone()
Returns
| Type | Description |
|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> | A clone of the |
Deconstruct(out T1, out T2, out T3, out T4, out T5, out T6, out T7)
Deconstructs the link.
Declaration
public void Deconstruct(out T1 value1, out T2 value2, out T3 value3, out T4 value4, out T5 value5, out T6 value6, out T7 value7)
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. |
| T4 | value4 | The #4 value of the link. |
| T5 | value5 | The #5 value of the link. |
| T6 | value6 | The #6 value of the link. |
| T7 | value7 | The #7 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, T3, T4, T5, T6, T7>)
Check for equality with another link.
Declaration
public bool Equals(LinkStruct<T1, T2, T3, T4, T5, T6, T7> b)
Parameters
| Type | Name | Description |
|---|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> | 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, T4, T5, T6, T7) to LinkStruct<T1, T2, T3, T4, T5, T6, T7>)
Converts a tuple to a link.
Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4, T5, T6, T7>((T1, T2, T3, T4, T5, T6, T7) tuple)
Parameters
| Type | Name | Description |
|---|---|---|
| System.ValueTuple<T1, T2, T3, T4, T5, T6, T7> | tuple | The tuple to convert to a link. |
Returns
| Type | Description |
|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> |
Implicit(Link<T1, T2, T3, T4, T5, T6, T7> to LinkStruct<T1, T2, T3, T4, T5, T6, T7>)
Converts a class link to a struct link.
Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4, T5, T6, T7>(Link<T1, T2, T3, T4, T5, T6, T7> link)
Parameters
| Type | Name | Description |
|---|---|---|
| Link<T1, T2, T3, T4, T5, T6, T7> | link | The class link to convert to a struct link. |
Returns
| Type | Description |
|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> |
Implicit(LinkStruct<T1, T2, T3, T4, T5, T6, T7> to (T1, T2, T3, T4, T5, T6, T7))
Converts a link to a tuple.
Declaration
public static implicit operator (T1, T2, T3, T4, T5, T6, T7)(LinkStruct<T1, T2, T3, T4, T5, T6, T7> link)
Parameters
| Type | Name | Description |
|---|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> | link | The link to convert to a tuple. |
Returns
| Type | Description |
|---|---|
| System.ValueTuple<T1, T2, T3, T4, T5, T6, T7> |
Implicit(LinkStruct<T1, T2, T3, T4, T5, T6, T7> to Tuple<T1, T2, T3, T4, T5, T6, T7>)
Converts a link to a tuple.
Declaration
public static implicit operator Tuple<T1, T2, T3, T4, T5, T6, T7>(LinkStruct<T1, T2, T3, T4, T5, T6, T7> link)
Parameters
| Type | Name | Description |
|---|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> | link | The link to convert to a tuple. |
Returns
| Type | Description |
|---|---|
| Tuple<T1, T2, T3, T4, T5, T6, T7> |
Implicit(Tuple<T1, T2, T3, T4, T5, T6, T7> to LinkStruct<T1, T2, T3, T4, T5, T6, T7>)
Converts a tuple to a link.
Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4, T5, T6, T7>(Tuple<T1, T2, T3, T4, T5, T6, T7> tuple)
Parameters
| Type | Name | Description |
|---|---|---|
| Tuple<T1, T2, T3, T4, T5, T6, T7> | tuple | The tuple to convert to a link. |
Returns
| Type | Description |
|---|---|
| LinkStruct<T1, T2, T3, T4, T5, T6, T7> |