/// <inheritdoc/> public IEnumerable <ICellAccessor> EnumerateGenericCellAccessors(LocalMemoryStorage storage) { foreach (var cellInfo in Global.LocalStorage) { switch ((CellType)cellInfo.CellType) { case CellType.TripleStore: { var TripleStore_accessor = TripleStore_Accessor.AllocIterativeAccessor(cellInfo, null); yield return(TripleStore_accessor); TripleStore_accessor.Dispose(); break; } default: continue; } } yield break; }
public IEnumerator <TripleStore> GetEnumerator() { if (m_filter_set == null) { if (m_filter_predicate == null) { foreach (var cellInfo in m_storage) { if (cellInfo.CellType == (ushort)CellType.TripleStore) { var accessor = TripleStore_Accessor.AllocIterativeAccessor(cellInfo, m_tx); yield return(accessor); accessor.Dispose(); } } } else { foreach (var cellInfo in m_storage) { if (cellInfo.CellType == (ushort)CellType.TripleStore) { var accessor = TripleStore_Accessor.AllocIterativeAccessor(cellInfo, m_tx); if (m_filter_predicate(accessor)) { yield return(accessor); } accessor.Dispose(); } } } } else if (m_is_positive_filtering) { if (m_filter_predicate == null) { foreach (var cellID in m_filter_set) { using (var accessor = m_storage.UseTripleStore(cellID)) { yield return(accessor); } } } else { foreach (var cellID in m_filter_set) { using (var accessor = m_storage.UseTripleStore(cellID)) { if (m_filter_predicate(accessor)) { yield return(accessor); } } } } } else { throw new NotImplementedException("Negative filtering not supported."); } }