< Summary

Class:Towel.SFunc<T1, T2, T3>
Assembly:Towel
File(s):File 1: /home/runner/work/Towel/Towel/Sources/Towel/Functional.cs
Covered lines:2
Uncovered lines:0
Coverable lines:2
Total lines:320
Line coverage:100% (2 of 2)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
File 1: Invoke(...)100%1100%
File 1: op_Implicit(...)100%1100%

File(s)

/home/runner/work/Towel/Towel/Sources/Towel/Functional.cs

#LineLine coverage
 1//------------------------------------------------------------------------------
 2// <auto-generated>
 3// This code was generated from "Tools\Towel_Generating\FunctionalGenerator.cs".
 4// </auto-generated>
 5//------------------------------------------------------------------------------
 6
 7namespace Towel;
 8
 9/// <inheritdoc cref="Action"/>
 10public interface IAction
 11{
 12  /// <inheritdoc cref="Action.Invoke"/>
 13  void Invoke();
 14}
 15
 16/// <inheritdoc cref="Action{T1}"/>
 17public interface IAction<T1>
 18{
 19  /// <inheritdoc cref="Action{T1}.Invoke"/>
 20  void Invoke(T1 arg1);
 21}
 22
 23/// <inheritdoc cref="Action{T1, T2}"/>
 24public interface IAction<T1, T2>
 25{
 26  /// <inheritdoc cref="Action{T1, T2}.Invoke"/>
 27  void Invoke(T1 arg1, T2 arg2);
 28}
 29
 30/// <inheritdoc cref="Action{T1, T2, T3}"/>
 31public interface IAction<T1, T2, T3>
 32{
 33  /// <inheritdoc cref="Action{T1, T2, T3}.Invoke"/>
 34  void Invoke(T1 arg1, T2 arg2, T3 arg3);
 35}
 36
 37/// <inheritdoc cref="Action{T1, T2, T3, T4}"/>
 38public interface IAction<T1, T2, T3, T4>
 39{
 40  /// <inheritdoc cref="Action{T1, T2, T3, T4}.Invoke"/>
 41  void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
 42}
 43
 44/// <inheritdoc cref="Action{T1, T2, T3, T4, T5}"/>
 45public interface IAction<T1, T2, T3, T4, T5>
 46{
 47  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5}.Invoke"/>
 48  void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
 49}
 50
 51/// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6}"/>
 52public interface IAction<T1, T2, T3, T4, T5, T6>
 53{
 54  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6}.Invoke"/>
 55  void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
 56}
 57
 58/// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6, T7}"/>
 59public interface IAction<T1, T2, T3, T4, T5, T6, T7>
 60{
 61  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6, T7}.Invoke"/>
 62  void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
 63}
 64
 65/// <inheritdoc cref="Func{TResult}"/>
 66public interface IFunc<TResult>
 67{
 68  /// <inheritdoc cref="Func{TResult}.Invoke"/>
 69  TResult Invoke();
 70}
 71
 72/// <inheritdoc cref="Func{T1, TResult}"/>
 73public interface IFunc<T1, TResult>
 74{
 75  /// <inheritdoc cref="Func{T1, TResult}.Invoke"/>
 76  TResult Invoke(T1 arg1);
 77}
 78
 79/// <inheritdoc cref="Func{T1, T2, TResult}"/>
 80public interface IFunc<T1, T2, TResult>
 81{
 82  /// <inheritdoc cref="Func{T1, T2, TResult}.Invoke"/>
 83  TResult Invoke(T1 arg1, T2 arg2);
 84}
 85
 86/// <inheritdoc cref="Func{T1, T2, T3, TResult}"/>
 87public interface IFunc<T1, T2, T3, TResult>
 88{
 89  /// <inheritdoc cref="Func{T1, T2, T3, TResult}.Invoke"/>
 90  TResult Invoke(T1 arg1, T2 arg2, T3 arg3);
 91}
 92
 93/// <inheritdoc cref="Func{T1, T2, T3, T4, TResult}"/>
 94public interface IFunc<T1, T2, T3, T4, TResult>
 95{
 96  /// <inheritdoc cref="Func{T1, T2, T3, T4, TResult}.Invoke"/>
 97  TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
 98}
 99
 100/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, TResult}"/>
 101public interface IFunc<T1, T2, T3, T4, T5, TResult>
 102{
 103  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, TResult}.Invoke"/>
 104  TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
 105}
 106
 107/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, TResult}"/>
 108public interface IFunc<T1, T2, T3, T4, T5, T6, TResult>
 109{
 110  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, TResult}.Invoke"/>
 111  TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
 112}
 113
 114/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}"/>
 115public interface IFunc<T1, T2, T3, T4, T5, T6, T7, TResult>
 116{
 117  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}.Invoke"/>
 118  TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
 119}
 120
 121/// <inheritdoc cref="System.Action"/>
 122public struct SAction : IAction
 123{
 124  internal Action Action;
 125
 126  /// <inheritdoc cref="Action.Invoke"/>
 127  public void Invoke() => Action();
 128
 129  /// <summary>Wraps an <see cref="Action"/> in an <see cref="SAction"/>.</summary>
 130  /// <param name="action">The <see cref="Action"/> wrapped in an <see cref="SAction"/>.</param>
 131  public static implicit operator SAction(Action action) => new() { Action = action, };
 132}
 133
 134/// <inheritdoc cref="Action{T1}"/>
 135public struct SAction<T1> : IAction<T1>
 136{
 137  internal Action<T1> Action;
 138
 139  /// <inheritdoc cref="Action{T1}.Invoke"/>
 140  public void Invoke(T1 arg1) => Action(arg1);
 141
 142  /// <summary>Wraps an <see cref="Action{T1}"/> in an <see cref="SAction{T1}"/>.</summary>
 143  /// <param name="action">The <see cref="Action{T1}"/> wrapped in an <see cref="SAction{T1}"/>.</param>
 144  public static implicit operator SAction<T1>(Action<T1> action) => new() { Action = action, };
 145}
 146
 147/// <inheritdoc cref="Action{T1, T2}"/>
 148public struct SAction<T1, T2> : IAction<T1, T2>
 149{
 150  internal Action<T1, T2> Action;
 151
 152  /// <inheritdoc cref="Action{T1, T2}.Invoke"/>
 153  public void Invoke(T1 arg1, T2 arg2) => Action(arg1, arg2);
 154
 155  /// <summary>Wraps an <see cref="Action{T1, T2}"/> in an <see cref="SAction{T1, T2}"/>.</summary>
 156  /// <param name="action">The <see cref="Action{T1, T2}"/> wrapped in an <see cref="SAction{T1, T2}"/>.</param>
 157  public static implicit operator SAction<T1, T2>(Action<T1, T2> action) => new() { Action = action, };
 158}
 159
 160/// <inheritdoc cref="Action{T1, T2, T3}"/>
 161public struct SAction<T1, T2, T3> : IAction<T1, T2, T3>
 162{
 163  internal Action<T1, T2, T3> Action;
 164
 165  /// <inheritdoc cref="Action{T1, T2, T3}.Invoke"/>
 166  public void Invoke(T1 arg1, T2 arg2, T3 arg3) => Action(arg1, arg2, arg3);
 167
 168  /// <summary>Wraps an <see cref="Action{T1, T2, T3}"/> in an <see cref="SAction{T1, T2, T3}"/>.</summary>
 169  /// <param name="action">The <see cref="Action{T1, T2, T3}"/> wrapped in an <see cref="SAction{T1, T2, T3}"/>.</param>
 170  public static implicit operator SAction<T1, T2, T3>(Action<T1, T2, T3> action) => new() { Action = action, };
 171}
 172
 173/// <inheritdoc cref="Action{T1, T2, T3, T4}"/>
 174public struct SAction<T1, T2, T3, T4> : IAction<T1, T2, T3, T4>
 175{
 176  internal Action<T1, T2, T3, T4> Action;
 177
 178  /// <inheritdoc cref="Action{T1, T2, T3, T4}.Invoke"/>
 179  public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4) => Action(arg1, arg2, arg3, arg4);
 180
 181  /// <summary>Wraps an <see cref="Action{T1, T2, T3, T4}"/> in an <see cref="SAction{T1, T2, T3, T4}"/>.</summary>
 182  /// <param name="action">The <see cref="Action{T1, T2, T3, T4}"/> wrapped in an <see cref="SAction{T1, T2, T3, T4}"/>.
 183  public static implicit operator SAction<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action) => new() { Action = action, };
 184}
 185
 186/// <inheritdoc cref="Action{T1, T2, T3, T4, T5}"/>
 187public struct SAction<T1, T2, T3, T4, T5> : IAction<T1, T2, T3, T4, T5>
 188{
 189  internal Action<T1, T2, T3, T4, T5> Action;
 190
 191  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5}.Invoke"/>
 192  public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) => Action(arg1, arg2, arg3, arg4, arg5);
 193
 194  /// <summary>Wraps an <see cref="Action{T1, T2, T3, T4, T5}"/> in an <see cref="SAction{T1, T2, T3, T4, T5}"/>.</summa
 195  /// <param name="action">The <see cref="Action{T1, T2, T3, T4, T5}"/> wrapped in an <see cref="SAction{T1, T2, T3, T4,
 196  public static implicit operator SAction<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action) => new() { Action = act
 197}
 198
 199/// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6}"/>
 200public struct SAction<T1, T2, T3, T4, T5, T6> : IAction<T1, T2, T3, T4, T5, T6>
 201{
 202  internal Action<T1, T2, T3, T4, T5, T6> Action;
 203
 204  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6}.Invoke"/>
 205  public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) => Action(arg1, arg2, arg3, arg4, arg5, arg6)
 206
 207  /// <summary>Wraps an <see cref="Action{T1, T2, T3, T4, T5, T6}"/> in an <see cref="SAction{T1, T2, T3, T4, T5, T6}"/>
 208  /// <param name="action">The <see cref="Action{T1, T2, T3, T4, T5, T6}"/> wrapped in an <see cref="SAction{T1, T2, T3,
 209  public static implicit operator SAction<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action) => new() { Acti
 210}
 211
 212/// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6, T7}"/>
 213public struct SAction<T1, T2, T3, T4, T5, T6, T7> : IAction<T1, T2, T3, T4, T5, T6, T7>
 214{
 215  internal Action<T1, T2, T3, T4, T5, T6, T7> Action;
 216
 217  /// <inheritdoc cref="Action{T1, T2, T3, T4, T5, T6, T7}.Invoke"/>
 218  public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) => Action(arg1, arg2, arg3, arg4, ar
 219
 220  /// <summary>Wraps an <see cref="Action{T1, T2, T3, T4, T5, T6, T7}"/> in an <see cref="SAction{T1, T2, T3, T4, T5, T6
 221  /// <param name="action">The <see cref="Action{T1, T2, T3, T4, T5, T6, T7}"/> wrapped in an <see cref="SAction{T1, T2,
 222  public static implicit operator SAction<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action) => new(
 223}
 224
 225/// <inheritdoc cref="Func{TResult}"/>
 226public struct SFunc<TResult> : IFunc<TResult>
 227{
 228  internal Func<TResult> Func;
 229
 230  /// <inheritdoc cref="Func{TResult}.Invoke"/>
 231  public TResult Invoke() => Func();
 232
 233  /// <summary>Wraps an <see cref="Func{TResult}"/> in an <see cref="SFunc{TResult}"/>.</summary>
 234  /// <param name="func">The <see cref="Func{TResult}"/> wrapped in an <see cref="SFunc{TResult}"/>.</param>
 235  public static implicit operator SFunc<TResult>(Func<TResult> func) => new() { Func = func, };
 236}
 237/// <inheritdoc cref="Func{T1, TResult}"/>
 238public struct SFunc<T1, TResult> : IFunc<T1, TResult>
 239{
 240  internal Func<T1, TResult> Func;
 241
 242  /// <inheritdoc cref="Func{T1, TResult}.Invoke"/>
 243  public TResult Invoke(T1 arg1) => Func(arg1);
 244
 245  /// <summary>Wraps an <see cref="Func{T1, TResult}"/> in an <see cref="SFunc{T1, TResult}"/>.</summary>
 246  /// <param name="func">The <see cref="Func{T1, TResult}"/> wrapped in an <see cref="SFunc{T1, TResult}"/>.</param>
 247  public static implicit operator SFunc<T1, TResult>(Func<T1, TResult> func) => new() { Func = func, };
 248}
 249/// <inheritdoc cref="Func{T1, T2, TResult}"/>
 250public struct SFunc<T1, T2, TResult> : IFunc<T1, T2, TResult>
 251{
 252  internal Func<T1, T2, TResult> Func;
 253
 254  /// <inheritdoc cref="Func{T1, T2, TResult}.Invoke"/>
 869837080255  public TResult Invoke(T1 arg1, T2 arg2) => Func(arg1, arg2);
 256
 257  /// <summary>Wraps an <see cref="Func{T1, T2, TResult}"/> in an <see cref="SFunc{T1, T2, TResult}"/>.</summary>
 258  /// <param name="func">The <see cref="Func{T1, T2, TResult}"/> wrapped in an <see cref="SFunc{T1, T2, TResult}"/>.</pa
 56612259  public static implicit operator SFunc<T1, T2, TResult>(Func<T1, T2, TResult> func) => new() { Func = func, };
 260}
 261/// <inheritdoc cref="Func{T1, T2, T3, TResult}"/>
 262public struct SFunc<T1, T2, T3, TResult> : IFunc<T1, T2, T3, TResult>
 263{
 264  internal Func<T1, T2, T3, TResult> Func;
 265
 266  /// <inheritdoc cref="Func{T1, T2, T3, TResult}.Invoke"/>
 267  public TResult Invoke(T1 arg1, T2 arg2, T3 arg3) => Func(arg1, arg2, arg3);
 268
 269  /// <summary>Wraps an <see cref="Func{T1, T2, T3, TResult}"/> in an <see cref="SFunc{T1, T2, T3, TResult}"/>.</summary
 270  /// <param name="func">The <see cref="Func{T1, T2, T3, TResult}"/> wrapped in an <see cref="SFunc{T1, T2, T3, TResult}
 271  public static implicit operator SFunc<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> func) => new() { Func = func, };
 272}
 273/// <inheritdoc cref="Func{T1, T2, T3, T4, TResult}"/>
 274public struct SFunc<T1, T2, T3, T4, TResult> : IFunc<T1, T2, T3, T4, TResult>
 275{
 276  internal Func<T1, T2, T3, T4, TResult> Func;
 277
 278  /// <inheritdoc cref="Func{T1, T2, T3, T4, TResult}.Invoke"/>
 279  public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4) => Func(arg1, arg2, arg3, arg4);
 280
 281  /// <summary>Wraps an <see cref="Func{T1, T2, T3, T4, TResult}"/> in an <see cref="SFunc{T1, T2, T3, T4, TResult}"/>.<
 282  /// <param name="func">The <see cref="Func{T1, T2, T3, T4, TResult}"/> wrapped in an <see cref="SFunc{T1, T2, T3, T4, 
 283  public static implicit operator SFunc<T1, T2, T3, T4, TResult>(Func<T1, T2, T3, T4, TResult> func) => new() { Func = f
 284}
 285/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, TResult}"/>
 286public struct SFunc<T1, T2, T3, T4, T5, TResult> : IFunc<T1, T2, T3, T4, T5, TResult>
 287{
 288  internal Func<T1, T2, T3, T4, T5, TResult> Func;
 289
 290  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, TResult}.Invoke"/>
 291  public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) => Func(arg1, arg2, arg3, arg4, arg5);
 292
 293  /// <summary>Wraps an <see cref="Func{T1, T2, T3, T4, T5, TResult}"/> in an <see cref="SFunc{T1, T2, T3, T4, T5, TResu
 294  /// <param name="func">The <see cref="Func{T1, T2, T3, T4, T5, TResult}"/> wrapped in an <see cref="SFunc{T1, T2, T3, 
 295  public static implicit operator SFunc<T1, T2, T3, T4, T5, TResult>(Func<T1, T2, T3, T4, T5, TResult> func) => new() { 
 296}
 297/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, TResult}"/>
 298public struct SFunc<T1, T2, T3, T4, T5, T6, TResult> : IFunc<T1, T2, T3, T4, T5, T6, TResult>
 299{
 300  internal Func<T1, T2, T3, T4, T5, T6, TResult> Func;
 301
 302  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, TResult}.Invoke"/>
 303  public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) => Func(arg1, arg2, arg3, arg4, arg5, arg6
 304
 305  /// <summary>Wraps an <see cref="Func{T1, T2, T3, T4, T5, T6, TResult}"/> in an <see cref="SFunc{T1, T2, T3, T4, T5, T
 306  /// <param name="func">The <see cref="Func{T1, T2, T3, T4, T5, T6, TResult}"/> wrapped in an <see cref="SFunc{T1, T2, 
 307  public static implicit operator SFunc<T1, T2, T3, T4, T5, T6, TResult>(Func<T1, T2, T3, T4, T5, T6, TResult> func) => 
 308}
 309/// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}"/>
 310public struct SFunc<T1, T2, T3, T4, T5, T6, T7, TResult> : IFunc<T1, T2, T3, T4, T5, T6, T7, TResult>
 311{
 312  internal Func<T1, T2, T3, T4, T5, T6, T7, TResult> Func;
 313
 314  /// <inheritdoc cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}.Invoke"/>
 315  public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) => Func(arg1, arg2, arg3, arg4, a
 316
 317  /// <summary>Wraps an <see cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}"/> in an <see cref="SFunc{T1, T2, T3, T4, T
 318  /// <param name="func">The <see cref="Func{T1, T2, T3, T4, T5, T6, T7, TResult}"/> wrapped in an <see cref="SFunc{T1, 
 319  public static implicit operator SFunc<T1, T2, T3, T4, T5, T6, T7, TResult>(Func<T1, T2, T3, T4, T5, T6, T7, TResult> f
 320}

Methods/Properties

Invoke(...)
op_Implicit(...)