xapian-core  1.4.25
Classes | Public Member Functions | Private Attributes | Friends | List of all members
Xapian::ESet Class Reference

Class representing a list of search results. More...

#include <eset.h>

+ Collaboration diagram for Xapian::ESet:

Classes

class  Internal
 Class which actually implements Xapian::ESet. More...
 

Public Member Functions

 ESet (const ESet &o)
 Copying is allowed. More...
 
ESetoperator= (const ESet &o)
 Copying is allowed. More...
 
 ESet ()
 Default constructor. More...
 
 ~ESet ()
 Destructor. More...
 
Xapian::doccount size () const
 Return number of items in this ESet object. More...
 
bool empty () const
 Return true if this ESet object is empty. More...
 
Xapian::termcount get_ebound () const
 Return a bound on the full size of this ESet object. More...
 
void swap (ESet &o)
 Efficiently swap this ESet object with another. More...
 
ESetIterator begin () const
 Return iterator pointing to the first item in this ESet. More...
 
ESetIterator end () const
 Return iterator pointing to just after the last item in this ESet. More...
 
ESetIterator operator[] (Xapian::doccount i) const
 Return iterator pointing to the i-th object in this ESet. More...
 
ESetIterator back () const
 Return iterator pointing to the last object in this ESet. More...
 
std::string get_description () const
 Return a string describing this object. More...
 
Xapian::doccount max_size () const
 

Private Types

typedef Xapian::ESetIterator value_type
 
typedef Xapian::termcount size_type
 
typedef Xapian::termcount_diff difference_type
 
typedef Xapian::ESetIterator iterator
 
typedef Xapian::ESetIterator const_iterator
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typereference
 
typedef const value_typeconst_reference
 

Private Attributes

Xapian::Internal::intrusive_ptr< Internalinternal
 

Friends

class ESetIterator
 

Detailed Description

Class representing a list of search results.

Definition at line 43 of file eset.h.

Member Typedef Documentation

◆ const_iterator

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 133 of file eset.h.

◆ const_pointer

typedef const value_type* Xapian::ESet::const_pointer
private

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 137 of file eset.h.

◆ const_reference

typedef const value_type& Xapian::ESet::const_reference
private

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 141 of file eset.h.

◆ difference_type

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 129 of file eset.h.

◆ iterator

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 131 of file eset.h.

◆ pointer

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 135 of file eset.h.

◆ reference

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 139 of file eset.h.

◆ size_type

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 127 of file eset.h.

◆ value_type

ESet is what the C++ STL calls a container.

The following typedefs allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

See "The C++ Programming Language", 3rd ed. section 16.3.1:

Definition at line 125 of file eset.h.

Constructor & Destructor Documentation

◆ ESet() [1/2]

Xapian::ESet::ESet ( const ESet o)

Copying is allowed.

The internals are reference counted, so copying is cheap.

Definition at line 230 of file esetinternal.cc.

◆ ESet() [2/2]

Xapian::ESet::ESet ( )

Default constructor.

Creates an empty ESet, mostly useful as a placeholder.

Definition at line 228 of file esetinternal.cc.

Referenced by operator=().

◆ ~ESet()

Xapian::ESet::~ESet ( )

Destructor.

Definition at line 244 of file esetinternal.cc.

Member Function Documentation

◆ back()

ESetIterator Xapian::ESet::back ( ) const
inline

Return iterator pointing to the last object in this ESet.

Definition at line 362 of file eset.h.

Referenced by DEFINE_TESTCASE().

◆ begin()

ESetIterator Xapian::ESet::begin ( ) const
inline

Return iterator pointing to the first item in this ESet.

Definition at line 345 of file eset.h.

Referenced by DEFINE_TESTCASE(), and main().

◆ empty()

bool Xapian::ESet::empty ( ) const
inline

Return true if this ESet object is empty.

Definition at line 85 of file eset.h.

◆ end()

ESetIterator Xapian::ESet::end ( ) const
inline

Return iterator pointing to just after the last item in this ESet.

Definition at line 350 of file eset.h.

Referenced by DEFINE_TESTCASE(), and main().

◆ get_description()

std::string Xapian::ESet::get_description ( ) const

Return a string describing this object.

Definition at line 261 of file esetinternal.cc.

◆ get_ebound()

Xapian::termcount Xapian::ESet::get_ebound ( ) const

Return a bound on the full size of this ESet object.

This is a bound on size() if get_eset() had been called with maxitems set high enough that all results were returned.

Definition at line 254 of file esetinternal.cc.

Referenced by DEFINE_TESTCASE().

◆ max_size()

Xapian::doccount Xapian::ESet::max_size ( ) const
inline

ESet is what the C++ STL calls a container.

The following methods allow the class to be used in templates in the same way the standard containers can be.

These are deliberately hidden from the Doxygen-generated docs, as the machinery here isn't interesting to API users. They just need to know that Xapian container classes are compatible with the STL.

Definition at line 155 of file eset.h.

◆ operator=()

ESet & Xapian::ESet::operator= ( const ESet o)
default

Copying is allowed.

The internals are reference counted, so assignment is cheap.

Definition at line 233 of file esetinternal.cc.

References ESet(), and internal.

◆ operator[]()

ESetIterator Xapian::ESet::operator[] ( Xapian::doccount  i) const
inline

Return iterator pointing to the i-th object in this ESet.

Definition at line 357 of file eset.h.

◆ size()

Xapian::doccount Xapian::ESet::size ( ) const

Return number of items in this ESet object.

Definition at line 247 of file esetinternal.cc.

Referenced by DEFINE_TESTCASE(), Xapian::iterator_rewind(), and Xapian::iterator_rewound().

◆ swap()

void Xapian::ESet::swap ( ESet o)
inline

Efficiently swap this ESet object with another.

Definition at line 95 of file eset.h.

References internal.

Friends And Related Function Documentation

◆ ESetIterator

friend class ESetIterator
friend

Definition at line 44 of file eset.h.

Member Data Documentation

◆ internal

Xapian::Internal::intrusive_ptr<Internal> Xapian::ESet::internal
private

Reference counted internals.

Definition at line 48 of file eset.h.

Referenced by Xapian::Enquire::Internal::get_eset(), operator=(), and swap().


The documentation for this class was generated from the following files: