public DocMapAnonymousInnerClassHelper(int maxDoc, Bits liveDocs, MonotonicAppendingLongBuffer docMap, int numDeletedDocs) { this.maxDoc = maxDoc; this.LiveDocs = liveDocs; this.DocMap = docMap; this.numDeletedDocs = numDeletedDocs; }
public static DocMap Build(int maxDoc, Bits liveDocs) { Debug.Assert(liveDocs != null); MonotonicAppendingLongBuffer docMap = new MonotonicAppendingLongBuffer(); int del = 0; for (int i = 0; i < maxDoc; ++i) { docMap.Add(i - del); if (!liveDocs.Get(i)) { ++del; } } docMap.Freeze(); int numDeletedDocs = del; Debug.Assert(docMap.Size() == maxDoc); return new DocMapAnonymousInnerClassHelper(maxDoc, liveDocs, docMap, numDeletedDocs); }