IFPSTools.NET/LibIFPSCC/Driver/CovariantTuple.cs
zc e16c00799d ifpscc: initial commit
libifpscc: initial commit
readme: document ifpscc/libifpscc
license: add credits for ifpscc/libifpscc (derived from code also MIT licensed)
libifps: make additional fields/types public for libifpscc
libifps: fix field documentation for some opcodes
libifps: fix loading functions that are not exported
libifps: allow saving a nonexistant primitive type if the same primitive type was added already
libifps: fix parsing Extended constants
libifps: fix ushort/short being mapped to the wrong types in one table
csproj: set Prefer32Bit=false for release builds
2023-03-28 17:24:19 +01:00

17 lines
488 B
C#

using System;
public interface ICovariantTuple<out T1, out T2> {
T1 Head { get; }
T2 Tail { get; }
}
public class CovariantTuple<T1, T2> : Tuple<T1, T2>, ICovariantTuple<T1, T2> {
public CovariantTuple(T1 head, T2 tail) : base(head, tail) { }
public T1 Head => this.Item1;
public T2 Tail => this.Item2;
}
public class CovariantTuple {
public static ICovariantTuple<T1, T2> Create<T1, T2>(T1 head, T2 tail) =>
new CovariantTuple<T1, T2>(head, tail);
}