//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()); }
// создаем объект, подсоединяемся к носителям или создаем носители 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()); } }