Lucene.Net.Util.FixedBitSet.Or C# (CSharp) Метод

Or() публичный Метод

Does in-place OR of the bits provided by the iterator.
public Or ( DocIdSetIterator iter ) : void
iter DocIdSetIterator
Результат void
        public void Or(DocIdSetIterator iter)
        {
            if (iter is OpenBitSetIterator && iter.DocID() == -1)
            {
                OpenBitSetIterator obs = (OpenBitSetIterator)iter;
                Or(obs.Arr, obs.Words);
                // advance after last doc that would be accepted if standard
                // iteration is used (to exhaust it):
                obs.Advance(NumBits);
            }
            else if (iter is FixedBitSetIterator && iter.DocID() == -1)
            {
                FixedBitSetIterator fbs = (FixedBitSetIterator)iter;
                Or(fbs.bits, fbs.NumWords);
                // advance after last doc that would be accepted if standard
                // iteration is used (to exhaust it):
                fbs.Advance(NumBits);
            }
            else
            {
                int doc;
                while ((doc = iter.NextDoc()) < NumBits)
                {
                    Set(doc);
                }
            }
        }

Same methods

FixedBitSet::Or ( FixedBitSet other ) : void
FixedBitSet::Or ( long otherArr, int otherNumWords ) : void

Usage Example

        protected override DocIdSet DocIdSetToCache(DocIdSet docIdSet, AtomicReader reader)
        {
            if (docIdSet == null)
            {
                return EMPTY_DOCIDSET;
            }

            if (docIdSet is FixedBitSet)
            {
                // this is different from CachingWrapperFilter: even when the DocIdSet is
                // cacheable, we convert it to a FixedBitSet since we require all the
                // cached filters to be FixedBitSets
                return docIdSet;
            }

            DocIdSetIterator it = docIdSet.GetIterator();
            if (it == null)
            {
                return EMPTY_DOCIDSET;
            }
            FixedBitSet copy = new FixedBitSet(reader.MaxDoc);
            copy.Or(it);
            return copy;
        }
All Usage Examples Of Lucene.Net.Util.FixedBitSet::Or