コード例 #1
0
ファイル: Utility.cs プロジェクト: valeriob/BPlusTreeStream
 public static void Rebuild_Index <TKey>(BPlusTree <TKey> source, BPlusTree <TKey> destination)
     where TKey : IComparable <TKey>, IEquatable <TKey>
 {
     if (destination.IsClustered())
     {
         var enumerable = new KeyValuePair_Enumerable <TKey, byte[]>(source.Root, source, new Null_Serializer());
         foreach (var data in enumerable)
         {
             destination.Put(data.Key, data.Value);
         }
     }
     else
     {
         var enumerable = new KeyData_Enumerable <TKey>(source.Root, source);
         foreach (var data in enumerable)
         {
             destination.Set_Data(data.Key, data);
         }
     }
 }