Show / Hide Table of Contents

Struct LinkStruct<T1, T2, T3, T4>

Represents a link between objects.

Implements
Link
IDataStructure<System.Object>
ISteppable<System.Object>
System.Collections.Generic.IEnumerable<System.Object>
System.Runtime.CompilerServices.ITuple
ICloneable<LinkStruct<T1, T2, T3, T4>>
Namespace: Towel.DataStructures
Assembly: Towel.dll
Syntax
public struct LinkStruct<T1, T2, T3, T4> : Link, IDataStructure<object>, ISteppable<object>, System.Collections.Generic.IEnumerable<object>, System.Runtime.CompilerServices.ITuple, ICloneable<LinkStruct<T1, T2, T3, T4>>
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.

Constructors

| Improve this Doc View Source

LinkStruct(T1, T2, T3, T4)

Creates a link between objects.

Declaration
public LinkStruct(T1 value1, T2 value2, T3 value3, T4 value4)
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.

Properties

| Improve this Doc View Source

Item[Int32]

Declaration
public object this[int index] { get; }
Parameters
Type Name Description
System.Int32 index
Property Value
Type Description
System.Object
| Improve this Doc View Source

Size

The number of values in the tuple.

Declaration
public int Size { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

Value1

The #1 value of the link.

Declaration
public T1 Value1 { get; set; }
Property Value
Type Description
T1
| Improve this Doc View Source

Value2

The #2 value of the link.

Declaration
public T2 Value2 { get; set; }
Property Value
Type Description
T2
| Improve this Doc View Source

Value3

The #3 value of the link.

Declaration
public T3 Value3 { get; set; }
Property Value
Type Description
T3
| Improve this Doc View Source

Value4

The #4 value of the link.

Declaration
public T4 Value4 { get; set; }
Property Value
Type Description
T4

Methods

| Improve this Doc View Source

Clone()

Clones a T.

Declaration
public LinkStruct<T1, T2, T3, T4> Clone()
Returns
Type Description
LinkStruct<T1, T2, T3, T4>

A clone of the T.

| Improve this Doc View Source

Deconstruct(out T1, out T2, out T3, out T4)

Deconstructs the link.

Declaration
public void Deconstruct(out T1 value1, out T2 value2, out T3 value3, out T4 value4)
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.

| Improve this Doc View Source

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
System.Object obj
Returns
Type Description
System.Boolean
| Improve this Doc View Source

Equals(LinkStruct<T1, T2, T3, T4>)

Check for equality with another link.

Declaration
public bool Equals(LinkStruct<T1, T2, T3, T4> b)
Parameters
Type Name Description
LinkStruct<T1, T2, T3, T4> b

The other link to check for equality with.

Returns
Type Description
System.Boolean

True if equal; false if not.

| Improve this Doc View Source

GetEnumerator()

Declaration
public System.Collections.Generic.IEnumerator<object> GetEnumerator()
Returns
Type Description
System.Collections.Generic.IEnumerator<System.Object>
| Improve this Doc View Source

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32
| Improve this Doc View Source

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 T value.

Returns
Type Description
StepStatus

The status of the traversal.

Type Parameters
Name Description
TStep

The type of function to invoke on every T value.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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 Source

Implicit((T1, T2, T3, T4) to LinkStruct<T1, T2, T3, T4>)

Converts a tuple to a link.

Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4>((T1, T2, T3, T4) tuple)
Parameters
Type Name Description
System.ValueTuple<T1, T2, T3, T4> tuple

The tuple to convert to a link.

Returns
Type Description
LinkStruct<T1, T2, T3, T4>
| Improve this Doc View Source

Implicit(Link<T1, T2, T3, T4> to LinkStruct<T1, T2, T3, T4>)

Converts a class link to a struct link.

Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4>(Link<T1, T2, T3, T4> link)
Parameters
Type Name Description
Link<T1, T2, T3, T4> link

The class link to convert to a struct link.

Returns
Type Description
LinkStruct<T1, T2, T3, T4>
| Improve this Doc View Source

Implicit(LinkStruct<T1, T2, T3, T4> to (T1, T2, T3, T4))

Converts a link to a tuple.

Declaration
public static implicit operator (T1, T2, T3, T4)(LinkStruct<T1, T2, T3, T4> link)
Parameters
Type Name Description
LinkStruct<T1, T2, T3, T4> link

The link to convert to a tuple.

Returns
Type Description
System.ValueTuple<T1, T2, T3, T4>
| Improve this Doc View Source

Implicit(LinkStruct<T1, T2, T3, T4> to Tuple<T1, T2, T3, T4>)

Converts a link to a tuple.

Declaration
public static implicit operator Tuple<T1, T2, T3, T4>(LinkStruct<T1, T2, T3, T4> link)
Parameters
Type Name Description
LinkStruct<T1, T2, T3, T4> link

The link to convert to a tuple.

Returns
Type Description
Tuple<T1, T2, T3, T4>
| Improve this Doc View Source

Implicit(Tuple<T1, T2, T3, T4> to LinkStruct<T1, T2, T3, T4>)

Converts a tuple to a link.

Declaration
public static implicit operator LinkStruct<T1, T2, T3, T4>(Tuple<T1, T2, T3, T4> tuple)
Parameters
Type Name Description
Tuple<T1, T2, T3, T4> tuple

The tuple to convert to a link.

Returns
Type Description
LinkStruct<T1, T2, T3, T4>

Implements

Link
IDataStructure<T>
ISteppable<T>
System.Collections.Generic.IEnumerable<>
System.Runtime.CompilerServices.ITuple
ICloneable<T>
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX