Show / Hide Table of Contents

Class Link<T1, T2>

Represents a link between objects.

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

Link(T1, T2)

Constructs a link of values.

Declaration
public Link(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 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

Methods

| Improve this Doc View Source

Clone()

Clones a T.

Declaration
public Link<T1, T2> Clone()
Returns
Type Description
Link<T1, T2>

A clone of the T.

| Improve this Doc View Source

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.

| 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(Link<T1, T2>)

Check for equality with another link.

Declaration
public bool Equals(Link<T1, T2> b)
Parameters
Type Name Description
Link<T1, T2> 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) to Link<T1, T2>)

Converts a tuple to a link.

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

The tuple to convert to a link.

Returns
Type Description
Link<T1, T2>
| Improve this Doc View Source

Implicit(Link<T1, T2> to (T1, T2))

Converts a link to a tuple.

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

The link to convert to a tuple.

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

Implicit(Link<T1, T2> to Tuple<T1, T2>)

Converts a link to a tuple.

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

The link to convert to a tuple.

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

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

Converts a class link to a struct link.

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

The class link to convert to a struct link.

Returns
Type Description
Link<T1, T2>
| Improve this Doc View Source

Implicit(Tuple<T1, T2> to Link<T1, T2>)

Converts a tuple to a link.

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

The tuple to convert to a link.

Returns
Type Description
Link<T1, T2>

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