private IEnumerable <int> ParseSequential() { Ch.AssertValue(_rows); Ch.Assert(_rows.Count == 1); LineBatch batch; var helper = _parser.CreateHelper(_rows.Stats, _srcNeeded); while ((batch = _reader.GetBatch()).Infos != null) { Ch.Assert(batch.Exception == null); _total = batch.Total; foreach (var info in batch.Infos) { Ch.Assert(info.Line > 0); Ch.AssertNonEmpty(info.Text); _parser.ParseRow(_rows, 0, helper, _active, batch.Path, info.Line, info.Text); _batch = batch.Batch; yield return(0); ++_total; } _batch = long.MaxValue; } }
public RowCursor(NltTokenizeTransform parent, IRowCursor input, bool[] active) : base(parent.Host, input) { Ch.AssertValue(parent._bindings); Ch.AssertNonEmpty(parent._bindings.Infos); Ch.AssertNonEmpty(parent._bindings.GroupInfos); Ch.Assert(active == null || active.Length == parent._bindings.ColumnCount); _bindings = parent._bindings; _active = active; var resourcesExist = new bool?[Tokenizers.Length]; var infos = parent._bindings.Infos; _getters = new ValueGetter<VBuffer<DvText>>[infos.Length]; var groupCurHelpers = new GroupCursorHelper[_bindings.SrcColsCount]; for (int iinfo = 0; iinfo < infos.Length; iinfo++) { if (_active != null && !_active[_bindings.MapIinfoToCol(iinfo)]) continue; int groupId = infos[iinfo].GroupInfoId; if (groupCurHelpers[groupId] == null) groupCurHelpers[groupId] = new GroupCursorHelper(input, _bindings.GroupInfos[groupId], resourcesExist); var groupState = groupCurHelpers[groupId]; if (infos[iinfo].IsTypes) _getters[iinfo] = groupState.GetTypes; else _getters[iinfo] = groupState.GetTokens; } }
public CursorBase(AppendRowsDataView parent) : base(parent._host) { Sources = parent._sources; Ch.AssertNonEmpty(Sources); Schema = parent._schema; Getters = new Delegate[Schema.Count]; }
public Cursor(ZipDataView parent, DataViewRowCursor[] srcCursors, Func <int, bool> predicate) : base(parent._host) { Ch.AssertNonEmpty(srcCursors); Ch.AssertValue(predicate); _cursors = srcCursors; _zipBinding = parent._zipBinding; _isColumnActive = Utils.BuildArray(_zipBinding.ColumnCount, predicate); }
public Cursor(ZipDataView parent, IRowCursor[] srcCursors, Func <int, bool> predicate) : base(parent._host) { Ch.AssertNonEmpty(srcCursors); Ch.AssertValue(predicate); _cursors = srcCursors; _compositeSchema = parent._compositeSchema; _isColumnActive = Utils.BuildArray(_compositeSchema.ColumnCount, predicate); }