Example #1
0
 /// <summary>
 /// reduces a <see cref="FaultTreeTerminalNode"/>
 /// </summary>
 /// <param name="tr">
 /// The Tree transformer.
 /// </param>
 /// <typeparam name="T">
 /// Return type.
 /// </typeparam>
 /// <returns>
 /// The <see>
 ///         <cref>T</cref>
 ///     </see>
 ///     .
 /// </returns>
 public override T Reduce <T>(FaultTreeTransformer <T> tr)
 {
     return(tr.Transform(this));
 }
Example #2
0
 /// <summary>
 /// FaultTree wrapper for Reduce that produces a new FaultTree based on the used transformer.
 /// </summary>
 /// <param name="tr">The Tree Transformer</param>
 /// <returns>The <see cref="FaultTree"/></returns>
 public FaultTree TreeMap(FaultTreeTransformer <FaultTreeNode> tr)
 {
     return(new FaultTree(this.Root.Reduce(tr)));
 }
        /// <summary>
        /// Applies Transformer recursively on childs.
        /// </summary>
        /// <param name="tr">
        /// The TreeTransformer.
        /// </param>
        /// <typeparam name="T">
        /// Resulting type of reduction.
        /// </typeparam>
        /// <returns>
        /// The <see>
        ///         <cref>T</cref>
        ///     </see>
        ///     .
        /// </returns>
        public override T Reduce <T>(FaultTreeTransformer <T> tr)
        {
            var l = this.Childs.Select(c => c.Reduce(tr)).ToList();

            return(tr.Transform(this, l));
        }
Example #4
0
 /// <summary>
 /// Reduce the FaultTree using a transformer to a T object
 /// </summary>
 /// <typeparam name="T">Target type</typeparam>
 /// <param name="tr">TreeTransformer used for conversion</param>
 /// <returns>Reduced T</returns>
 public T Reduce <T>(FaultTreeTransformer <T> tr)
 {
     return(this.Root.Reduce(tr));
 }
 /// <summary>
 /// Reducer that has to be overwritten by concrete implementations.
 /// </summary>
 /// <param name="tr">
 /// The tr.
 /// </param>
 /// <typeparam name="T">
 /// FaultTree will be reduced to type T.
 /// </typeparam>
 /// <returns>
 /// The <see>
 ///         <cref>T</cref>
 ///     </see>
 ///     .
 /// </returns>
 public abstract T Reduce <T>(FaultTreeTransformer <T> tr);