예제 #1
0
 //public Func<object, bool> Filter { get; set; }
 // создаем объект, подсоединяемся к носителям или создаем носители
 public IndexView(Func <Stream> streamGen, IBearing bearing,
                  Func <object, bool> applicable, Comparer <object> comp_d)
 {
     this.streamGen    = streamGen;
     this.bearing      = bearing;
     this.applicable   = applicable;
     this.comp_default = comp_d;
     offset_sequ       = new UniversalSequenceBase(new PType(PTypeEnumeration.longinteger), streamGen());
 }
예제 #2
0
 // создаем объект, подсоединяемся к носителям или создаем носители
 public IndexViewImmutable(Func <Stream> streamGen, IBearing bearing, Comparer <object> comp_d, string tmpdir, long volume_of_offset_array)
 {
     this.streamGen              = streamGen;
     this.bearing                = bearing;
     this.comp_default           = comp_d;
     this.tmpdir                 = tmpdir;
     offset_sequ                 = new UniversalSequenceBase(new PType(PTypeEnumeration.longinteger), streamGen());
     this.volume_of_offset_array = volume_of_offset_array;
 }
 public IndexKey32CompVector(Func <Stream> streamGen, IBearing bearing,
                             Func <object, IEnumerable <int> > keysFun, Comparer <object> comp)
 {
     this.bearing = bearing;
     this.keysFun = keysFun;
     this.comp    = comp;
     keyoffsets   = new UniversalSequenceBase(
         new PTypeRecord(
             new NamedType("key", new PType(PTypeEnumeration.integer)),
             new NamedType("off", new PType(PTypeEnumeration.longinteger))),
         streamGen());
     // Шкалу надо вычислять не всегда, о реальном условии еще надо подумать
     if (comp == null)
     {
         scale = new Scale(streamGen());
     }
 }