Xapian::PostingIterator Class Reference

An iterator pointing to items in a list of postings. More...

#include <postingiterator.h>

Collaboration diagram for Xapian::PostingIterator:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::input_iterator_tag iterator_category
 Allow use as an STL iterator.
typedef Xapian::docid value_type
typedef Xapian::doccount_diff difference_type
typedef Xapian::docidpointer
typedef Xapian::docidreference

Public Member Functions

 PostingIterator ()
 Default constructor - for declaring an uninitialised iterator.
 ~PostingIterator ()
 Destructor.
 PostingIterator (const PostingIterator &other)
 Copying is allowed.
void operator= (const PostingIterator &other)
 Assignment is allowed.
PostingIteratoroperator++ ()
DocIDWrapper operator++ (int)
void skip_to (Xapian::docid did)
 Skip the iterator to document did, or the first document after did if did isn't in the list of documents being iterated.
Xapian::docid operator * () const
 Get the document id at the current position in the postlist.
Xapian::doclength get_doclength () const
 Get the length of the document at the current position in the postlist.
Xapian::termcount get_wdf () const
 Get the within document frequency of the document at the current position in the postlist.
PositionIterator positionlist_begin () const
 Return PositionIterator pointing to start of positionlist for current document.
PositionIterator positionlist_end () const
 Return PositionIterator pointing to end of positionlist for current document.
std::string get_description () const
 Return a string describing this object.

Private Member Functions

 PostingIterator (Internal *internal_)

Private Attributes

Xapian::Internal::RefCntPtr<
Internal
internal
 

For internal use only.

Reference counted internals.



Friends

class Database
bool operator== (const PostingIterator &a, const PostingIterator &b)
 Test equality of two PostingIterators.

Classes

class  Internal
 Abstract base class for postlists. More...

Detailed Description

An iterator pointing to items in a list of postings.

Definition at line 52 of file postingiterator.h.


Member Typedef Documentation

typedef std::input_iterator_tag Xapian::PostingIterator::iterator_category

Allow use as an STL iterator.

Definition at line 141 of file postingiterator.h.

typedef Xapian::docid Xapian::PostingIterator::value_type

Definition at line 142 of file postingiterator.h.

typedef Xapian::doccount_diff Xapian::PostingIterator::difference_type

Definition at line 143 of file postingiterator.h.

typedef Xapian::docid* Xapian::PostingIterator::pointer

Definition at line 144 of file postingiterator.h.

typedef Xapian::docid& Xapian::PostingIterator::reference

Definition at line 145 of file postingiterator.h.


Constructor & Destructor Documentation

Xapian::PostingIterator::PostingIterator ( Internal internal_  )  [explicit, private]

Definition at line 31 of file ompostlistiterator.cc.

References internal.

Xapian::PostingIterator::PostingIterator (  ) 

Default constructor - for declaring an uninitialised iterator.

Definition at line 42 of file ompostlistiterator.cc.

References DEBUGAPICALL.

Xapian::PostingIterator::~PostingIterator (  ) 

Destructor.

Definition at line 46 of file ompostlistiterator.cc.

References DEBUGAPICALL.

Xapian::PostingIterator::PostingIterator ( const PostingIterator other  ) 

Copying is allowed.

The internals are reference counted, so copying is also cheap.

Definition at line 50 of file ompostlistiterator.cc.

References DEBUGAPICALL.


Member Function Documentation

void Xapian::PostingIterator::operator= ( const PostingIterator other  ) 

Assignment is allowed.

The internals are reference counted, so assignment is also cheap.

Definition at line 57 of file ompostlistiterator.cc.

References DEBUGAPICALL, and internal.

Xapian::PostingIterator & Xapian::PostingIterator::operator++ (  ) 

Definition at line 73 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, and internal.

DocIDWrapper Xapian::PostingIterator::operator++ ( int   )  [inline]

Definition at line 85 of file postingiterator.h.

void Xapian::PostingIterator::skip_to ( Xapian::docid  did  ) 

Skip the iterator to document did, or the first document after did if did isn't in the list of documents being iterated.

Definition at line 86 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, and internal.

Referenced by DEFINE_TESTCASE(), and main().

Xapian::docid Xapian::PostingIterator::operator * (  )  const

Get the document id at the current position in the postlist.

Definition at line 64 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, internal, and RETURN.

Xapian::doclength Xapian::PostingIterator::get_doclength (  )  const

Get the length of the document at the current position in the postlist.

This information may be stored in the postlist, in which case this lookup should be extremely fast (indeed, not require further disk access). If the information is not present in the postlist, it will be retrieved from the database, at a greater performance cost.

Definition at line 105 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, internal, and RETURN.

Referenced by DEFINE_TESTCASE().

Xapian::termcount Xapian::PostingIterator::get_wdf (  )  const

Get the within document frequency of the document at the current position in the postlist.

Definition at line 114 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, internal, and RETURN.

Referenced by DEFINE_TESTCASE(), and main().

Xapian::PositionIterator Xapian::PostingIterator::positionlist_begin (  )  const

Return PositionIterator pointing to start of positionlist for current document.

Definition at line 123 of file ompostlistiterator.cc.

References Assert, DEBUGAPICALL, internal, and RETURN.

Referenced by main().

PositionIterator Xapian::PostingIterator::positionlist_end (  )  const [inline]

Return PositionIterator pointing to end of positionlist for current document.

Definition at line 127 of file postingiterator.h.

Referenced by main().

string Xapian::PostingIterator::get_description (  )  const

Return a string describing this object.

Todo:
display contents of the object

Definition at line 132 of file ompostlistiterator.cc.


Friends And Related Function Documentation

friend class Database [friend]

Definition at line 59 of file postingiterator.h.

bool operator== ( const PostingIterator a,
const PostingIterator b 
) [friend]

Test equality of two PostingIterators.

Definition at line 150 of file postingiterator.h.


Member Data Documentation

Xapian::Internal::RefCntPtr<Internal> Xapian::PostingIterator::internal [private]

For internal use only.

Reference counted internals.

Definition at line 54 of file postingiterator.h.

Referenced by get_doclength(), get_wdf(), operator *(), operator++(), operator=(), Xapian::operator==(), positionlist_begin(), PostingIterator(), and skip_to().


The documentation for this class was generated from the following files:
Documentation for Xapian (version 1.0.10).
Generated on 24 Dec 2008 by Doxygen 1.5.2.