/// <summary> /// TBD /// </summary> /// <typeparam name="T">TBD</typeparam> /// <param name="inlet">TBD</param> /// <returns>TBD</returns> public static Inlet <T> Create <T>(Inlet inlet) => inlet as Inlet <T> ?? new Inlet <T>(inlet.Name);
/// <summary> /// TBD /// </summary> /// <param name="inlet">TBD</param> /// <param name="out0">TBD</param> /// <param name="out1">TBD</param> public FanOutShape(Inlet <TIn> inlet, Outlet <T0> out0, Outlet <T1> out1) : this(new InitPorts(inlet, new Outlet[] { out0, out1 })) { }
/// <summary> /// TBD /// </summary> /// <returns>TBD</returns> public override Shape DeepCopy() => new FlowShape <TIn, TOut>((Inlet <TIn>)Inlet.CarbonCopy(), (Outlet <TOut>)Outlet.CarbonCopy());
/// <summary> /// TBD /// </summary> /// <param name="inlet">TBD</param> /// <param name="outlets">TBD</param> public UniformFanOutShape(Inlet <TIn> inlet, params Outlet <TOut>[] outlets) : this(outlets.Length, new InitPorts(inlet, outlets)) { }
/// <summary> /// TBD /// </summary> /// <param name="outlet">TBD</param> /// <param name="in0">TBD</param> /// <param name="inlets">TBD</param> public FanInShapeN(Outlet <TOut> outlet, Inlet <T0> in0, params Inlet <T1>[] inlets) : this(inlets.Length, new InitPorts(outlet, new Inlet[] { in0 }.Concat(inlets))) { }
/// <summary> /// TBD /// </summary> /// <param name="outlet">TBD</param> /// <param name="in0">TBD</param> /// <param name="in1">TBD</param> /// <returns>TBD</returns> public FanInShape(Outlet <TOut> outlet, Inlet <T0> in0, Inlet <T1> in1) : this(new InitPorts(outlet, new Inlet[] { in0, in1 })) { }
/// <summary> /// TBD /// </summary> /// <param name="init">TBD</param> public FanInShape(IInit init) : base(init) { In0 = NewInlet <T0>("in0"); In1 = NewInlet <T1>("in1"); }