コード例 #1
0
ファイル: Algorithm.Generate.cs プロジェクト: ggeurts/nhive
 public static void Generate <T>(ForwardIterator <T> begin, ForwardIterator <T> end, Functional.GenFunction <T> func)
 {
     for (begin = IteratorUtil.Clone(begin); !begin.Equals(end); begin.MoveNext())
     {
         begin.Write(func());
     }
 }
コード例 #2
0
ファイル: IteratorUtil.Swap.cs プロジェクト: ggeurts/nhive
        public static void Swap <T>(ForwardIterator <T> lhs, ForwardIterator <T> rhs)
        {
            T temp = lhs.Read();

            lhs.Write(rhs.Read());
            rhs.Write(temp);
        }
コード例 #3
0
 public static void Fill <T>(ForwardIterator <T> begin, ForwardIterator <T> end, T value)
 {
     for (begin = IteratorUtil.Clone(begin); !begin.Equals(end); begin.MoveNext())
     {
         begin.Write(value);
     }
 }
コード例 #4
0
ファイル: Algorithm.Replace.cs プロジェクト: ggeurts/nhive
 public static void Replace <T>(ForwardIterator <T> begin, ForwardIterator <T> end, T oldValue, T newValue, IEqualityComparer <T> comparer)
 {
     for (begin = IteratorUtil.Clone(begin); !begin.Equals(end); begin.MoveNext())
     {
         if (comparer.Equals(oldValue, begin.Read()))
         {
             begin.Write(newValue);
         }
     }
 }
コード例 #5
0
ファイル: Algorithm.Replace.cs プロジェクト: ggeurts/nhive
 public static void Replace <T>(ForwardIterator <T> begin, ForwardIterator <T> end, T oldValue, T newValue)
     where T : IEquatable <T>
 {
     for (begin = IteratorUtil.Clone(begin); !begin.Equals(end); begin.MoveNext())
     {
         if (oldValue.Equals(begin.Read()))
         {
             begin.Write(newValue);
         }
     }
 }
コード例 #6
0
 public static void ReplaceIf <T>(ForwardIterator <T> begin, ForwardIterator <T> end, T newValue, Functional.UnaryPredicate <T> func)
     where T : IEquatable <T>
 {
     for (begin = IteratorUtil.Clone(begin); !begin.Equals(end); begin.MoveNext())
     {
         if (func(begin.Read()))
         {
             begin.Write(newValue);
         }
     }
 }