Lucene++ - a full-featured, c++ search engine
API Documentation
Stores and iterate on sorted integers in compressed form in RAM. More...
#include <SortedVIntList.h>
Public Member Functions | |
SortedVIntList (Collection< int32_t > sortedInts) | |
Create a SortedVIntList from all elements of an array of integers. | |
SortedVIntList (Collection< int32_t > sortedInts, int32_t inputSize) | |
Create a SortedVIntList from an array of integers. | |
SortedVIntList (const BitSetPtr &bits) | |
Create a SortedVIntList from a BitSet. | |
SortedVIntList (const OpenBitSetPtr &bits) | |
Create a SortedVIntList from an OpenBitSet. | |
SortedVIntList (const DocIdSetIteratorPtr &docIdSetIterator) | |
Create a SortedVIntList. | |
virtual | ~SortedVIntList () |
virtual String | getClassName () |
boost::shared_ptr< SortedVIntList > | shared_from_this () |
int32_t | size () |
int32_t | getByteSize () |
virtual bool | isCacheable () |
This DocIdSet implementation is cacheable. | |
virtual DocIdSetIteratorPtr | iterator () |
![]() | |
virtual | ~DocIdSet () |
boost::shared_ptr< DocIdSet > | shared_from_this () |
![]() | |
virtual | ~LuceneObject () |
virtual void | initialize () |
Called directly after instantiation to create objects that depend on this object being fully constructed. | |
virtual LuceneObjectPtr | clone (const LuceneObjectPtr &other=LuceneObjectPtr()) |
Return clone of this object. | |
virtual int32_t | hashCode () |
Return hash code for this object. | |
virtual bool | equals (const LuceneObjectPtr &other) |
Return whether two objects are equal. | |
virtual int32_t | compareTo (const LuceneObjectPtr &other) |
Compare two objects. | |
virtual String | toString () |
Returns a string representation of the object. | |
![]() | |
virtual | ~LuceneSync () |
virtual SynchronizePtr | getSync () |
Return this object synchronize lock. | |
virtual LuceneSignalPtr | getSignal () |
Return this object signal. | |
virtual void | lock (int32_t timeout=0) |
Lock this object using an optional timeout. | |
virtual void | unlock () |
Unlock this object. | |
virtual bool | holdsLock () |
Returns true if this object is currently locked by current thread. | |
virtual void | wait (int32_t timeout=0) |
Wait for signal using an optional timeout. | |
virtual void | notifyAll () |
Notify all threads waiting for signal. | |
Static Public Member Functions | |
static String | _getClassName () |
![]() | |
static String | _getClassName () |
static DocIdSetPtr | EMPTY_DOCIDSET () |
An empty {. | |
Static Public Attributes | |
static const int32_t | BITS2VINTLIST_SIZE |
When a BitSet has fewer than 1 in BITS2VINTLIST_SIZE bits set, a SortedVIntList representing the index numbers of the set bits will be smaller than that BitSet. | |
Protected Member Functions | |
void | initBytes () |
void | addInt (int32_t nextInt) |
![]() | |
LuceneObject () | |
Protected Attributes | |
int32_t | _size |
ByteArray | bytes |
int32_t | lastBytePos |
int32_t | lastInt |
![]() | |
SynchronizePtr | objectLock |
LuceneSignalPtr | objectSignal |
Static Protected Attributes | |
static const int32_t | VB1 |
static const int32_t | BIT_SHIFT |
static const int32_t | MAX_BYTES_PER_INT |
Stores and iterate on sorted integers in compressed form in RAM.
The code for compressing the differences between ascending integers was borrowed from IndexInput
and IndexOutput
.
NOTE: this class assumes the stored integers are doc Ids (hence why it extends DocIdSet
). Therefore its iterator()
assumes DocIdSetIterator#NO_MORE_DOCS
can be used as sentinel. If you intend to use this value, then make sure it's not used during search flow.
Lucene::SortedVIntList::SortedVIntList | ( | Collection< int32_t > | sortedInts | ) |
Create a SortedVIntList from all elements of an array of integers.
sortedInts | A sorted array of non negative integers. |
Lucene::SortedVIntList::SortedVIntList | ( | Collection< int32_t > | sortedInts, |
int32_t | inputSize | ||
) |
Create a SortedVIntList from an array of integers.
sortedInts | A sorted array of non negative integers. |
inputSize | The number of integers to be used from the array. |
Lucene::SortedVIntList::SortedVIntList | ( | const BitSetPtr & | bits | ) |
Create a SortedVIntList from a BitSet.
bits | A bit set representing a set of integers. |
Lucene::SortedVIntList::SortedVIntList | ( | const OpenBitSetPtr & | bits | ) |
Create a SortedVIntList from an OpenBitSet.
bits | A bit set representing a set of integers. |
Lucene::SortedVIntList::SortedVIntList | ( | const DocIdSetIteratorPtr & | docIdSetIterator | ) |
Create a SortedVIntList.
docIdSetIterator | An iterator providing document numbers as a set of integers. This DocIdSetIterator is iterated completely when this constructor is called and it must provide the integers in non decreasing order. |
|
virtual |
|
inlinestatic |
|
protected |
int32_t Lucene::SortedVIntList::getByteSize | ( | ) |
|
inlinevirtual |
Reimplemented from Lucene::DocIdSet.
|
protected |
|
virtual |
This DocIdSet implementation is cacheable.
Reimplemented from Lucene::DocIdSet.
|
virtual |
Implements Lucene::DocIdSet.
|
inline |
int32_t Lucene::SortedVIntList::size | ( | ) |
|
protected |
|
staticprotected |
|
static |
When a BitSet has fewer than 1 in BITS2VINTLIST_SIZE bits set, a SortedVIntList representing the index numbers of the set bits will be smaller than that BitSet.
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |