xapian-core  2.0.0
Namespaces | Classes | Functions | Variables
Xapian::Internal Namespace Reference

Namespaces

 Snowball
 

Classes

struct  CmpMaxOrTerms
 Class providing an operator which sorts postlists to select max or terms. More...
 
struct  ComparePostListTermFreqAscending
 Comparison functor which orders by descending termfreq. More...
 
class  Context
 
class  OrContext
 
class  XorContext
 
class  PosFilter
 
class  AndContext
 
class  QueryTerm
 
class  QueryPostingSource
 
class  QueryScaleWeight
 
class  QueryValueBase
 
class  QueryValueRange
 
class  QueryValueLE
 
class  QueryValueGE
 
class  QueryBranch
 
class  QueryAndLike
 
class  QueryOrLike
 
class  QueryAnd
 
class  QueryOr
 
class  QueryAndNot
 
class  QueryXor
 
class  QueryAndMaybe
 
class  QueryFilter
 
class  QueryWindowed
 
class  QueryNear
 
class  QueryPhrase
 
class  QueryEliteSet
 
class  QuerySynonym
 
class  QueryMax
 
class  QueryWildcard
 
class  QueryEditDistance
 
class  QueryInvalid
 
class  PostList
 Abstract base class for postlists. More...
 
class  ExpandTerm
 Class combining a term and its expand weight. More...
 
class  ExpandStats
 Collates statistics while calculating term weight in an ESet. More...
 
class  ExpandWeight
 Class for calculating ESet term weights. More...
 
class  ProbEWeight
 This class implements the probabilistic scheme for query expansion. More...
 
class  Bo1EWeight
 This class implements the Bo1 scheme for query expansion. More...
 
struct  constinfo
 
class  intrusive_base
 Base class for objects managed by intrusive_ptr. More...
 
class  intrusive_ptr
 A smart pointer that uses intrusive reference counting. More...
 
class  intrusive_ptr_nonnull
 A normally non-NULL smart pointer using intrusive reference counting. More...
 
class  opt_intrusive_base
 Base class for objects managed by opt_intrusive_ptr. More...
 
class  opt_intrusive_ptr
 A smart pointer that optionally uses intrusive reference counting. More...
 
struct  PostListAndEstimate
 
class  QueryOptimiser
 
struct  TermFreqs
 The frequencies for a term. More...
 

Functions

const struct constinfoget_constinfo_ () noexcept
 
template<typename T , typename U >
static T estimate_and_not (T l, T r, U n)
 
static double string_frac (const string &s, size_t prefix)
 
static Xapian::doccount estimate_range_freq (const string &lo, const string &hi, const string &begin, const string *end, Xapian::doccount value_freq)
 
void closefrom (int fd)
 
string str (int value)
 Convert int to std::string. More...
 
string str (unsigned int value)
 Convert unsigned int to std::string. More...
 
string str (long value)
 Convert long to std::string. More...
 
string str (unsigned long value)
 Convert unsigned long to std::string. More...
 
string str (long long value)
 Convert long long to std::string. More...
 
string str (unsigned long long value)
 Convert unsigned long long to std::string. More...
 
template<class T >
static string format (const char *fmt, T value)
 
string str (double value)
 Convert double to std::string. More...
 
string str (const void *value)
 Convert const void * to std::string. More...
 
std::string str (const std::string &value)
 Convert std::string to std::string. More...
 
std::string str (std::string_view value)
 Convert std::string_view to std::string. More...
 
std::string str (const char *value)
 Convert const char * to std::string. More...
 
std::string str (bool value)
 Convert bool to std::string. More...
 
template<class T , class U >
bool operator== (intrusive_ptr< T > const &a, intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator!= (intrusive_ptr< T > const &a, intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator== (intrusive_ptr< T > const &a, U *b)
 
template<class T , class U >
bool operator!= (intrusive_ptr< T > const &a, U *b)
 
template<class T , class U >
bool operator== (T *a, intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator!= (T *a, intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator== (intrusive_ptr_nonnull< T > const &a, intrusive_ptr_nonnull< U > const &b)
 
template<class T , class U >
bool operator!= (intrusive_ptr_nonnull< T > const &a, intrusive_ptr_nonnull< U > const &b)
 
template<class T , class U >
bool operator== (intrusive_ptr_nonnull< T > const &a, U *b)
 
template<class T , class U >
bool operator!= (intrusive_ptr_nonnull< T > const &a, U *b)
 
template<class T , class U >
bool operator== (T *a, intrusive_ptr_nonnull< U > const &b)
 
template<class T , class U >
bool operator!= (T *a, intrusive_ptr_nonnull< U > const &b)
 
template<class T , class U >
bool operator== (opt_intrusive_ptr< T > const &a, opt_intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator!= (opt_intrusive_ptr< T > const &a, opt_intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator== (opt_intrusive_ptr< T > const &a, U *b)
 
template<class T , class U >
bool operator!= (opt_intrusive_ptr< T > const &a, U *b)
 
template<class T , class U >
bool operator== (T *a, opt_intrusive_ptr< U > const &b)
 
template<class T , class U >
bool operator!= (T *a, opt_intrusive_ptr< U > const &b)
 

Variables

const unsigned char HEX_MASK = 0x0f
 
const unsigned char IS_UPPER = 0x10
 
const unsigned char IS_ALPHA = 0x20
 
const unsigned char IS_DIGIT = 0x40
 
const unsigned char IS_SPACE = 0x80
 

Function Documentation

◆ closefrom()

void Xapian::Internal::closefrom ( int  fd)

◆ estimate_and_not()

template<typename T , typename U >
static T Xapian::Internal::estimate_and_not ( l,
r,
n 
)
inlinestatic

Definition at line 764 of file queryinternal.cc.

Referenced by Xapian::Internal::AndContext::postlist().

◆ estimate_range_freq()

static Xapian::doccount Xapian::Internal::estimate_range_freq ( const string &  lo,
const string &  hi,
const string &  begin,
const string *  end,
Xapian::doccount  value_freq 
)
static

◆ format()

template<class T >
static string Xapian::Internal::format ( const char *  fmt,
value 
)
inlinestatic

Definition at line 128 of file str.cc.

References AssertRel.

Referenced by str().

◆ get_constinfo_()

const struct constinfo * Xapian::Internal::get_constinfo_ ( )
noexcept

Rather than having a separate function to access each piece of information, we put it all into a structure and have a single function which returns a pointer to this (and we mark that function with attribute const, so the compiler should be able to CSE calls to it. This means that when Xapian is loaded as a shared library we save N-1 relocations (where N is the number of pieces of information), which reduces the library load time.

Definition at line 43 of file constinfo.cc.

References const_info.

Referenced by C_tab_(), Xapian::Stem::get_available_languages(), Xapian::major_version(), Xapian::minor_version(), Xapian::revision(), and Xapian::version_string().

◆ operator!=() [1/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( intrusive_ptr< T > const &  a,
intrusive_ptr< U > const &  b 
)
inline

Definition at line 191 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator!=() [2/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( intrusive_ptr< T > const &  a,
U *  b 
)
inline

Definition at line 201 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator!=() [3/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( intrusive_ptr_nonnull< T > const &  a,
intrusive_ptr_nonnull< U > const &  b 
)
inline

◆ operator!=() [4/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( intrusive_ptr_nonnull< T > const &  a,
U *  b 
)
inline

◆ operator!=() [5/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( opt_intrusive_ptr< T > const &  a,
opt_intrusive_ptr< U > const &  b 
)
inline

Definition at line 533 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ operator!=() [6/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( opt_intrusive_ptr< T > const &  a,
U *  b 
)
inline

Definition at line 543 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ operator!=() [7/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( T *  a,
intrusive_ptr< U > const &  b 
)
inline

Definition at line 211 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator!=() [8/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( T *  a,
intrusive_ptr_nonnull< U > const &  b 
)
inline

◆ operator!=() [9/9]

template<class T , class U >
bool Xapian::Internal::operator!= ( T *  a,
opt_intrusive_ptr< U > const &  b 
)
inline

Definition at line 553 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ operator==() [1/9]

template<class T , class U >
bool Xapian::Internal::operator== ( intrusive_ptr< T > const &  a,
intrusive_ptr< U > const &  b 
)
inline

Definition at line 186 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator==() [2/9]

template<class T , class U >
bool Xapian::Internal::operator== ( intrusive_ptr< T > const &  a,
U *  b 
)
inline

Definition at line 196 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator==() [3/9]

template<class T , class U >
bool Xapian::Internal::operator== ( intrusive_ptr_nonnull< T > const &  a,
intrusive_ptr_nonnull< U > const &  b 
)
inline

◆ operator==() [4/9]

template<class T , class U >
bool Xapian::Internal::operator== ( intrusive_ptr_nonnull< T > const &  a,
U *  b 
)
inline

◆ operator==() [5/9]

template<class T , class U >
bool Xapian::Internal::operator== ( opt_intrusive_ptr< T > const &  a,
opt_intrusive_ptr< U > const &  b 
)
inline

Definition at line 528 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ operator==() [6/9]

template<class T , class U >
bool Xapian::Internal::operator== ( opt_intrusive_ptr< T > const &  a,
U *  b 
)
inline

Definition at line 538 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ operator==() [7/9]

template<class T , class U >
bool Xapian::Internal::operator== ( T *  a,
intrusive_ptr< U > const &  b 
)
inline

Definition at line 206 of file intrusive_ptr.h.

References Xapian::Internal::intrusive_ptr< T >::get().

◆ operator==() [8/9]

template<class T , class U >
bool Xapian::Internal::operator== ( T *  a,
intrusive_ptr_nonnull< U > const &  b 
)
inline

◆ operator==() [9/9]

template<class T , class U >
bool Xapian::Internal::operator== ( T *  a,
opt_intrusive_ptr< U > const &  b 
)
inline

Definition at line 548 of file intrusive_ptr.h.

References Xapian::Internal::opt_intrusive_ptr< T >::get().

◆ str() [1/12]

std::string Xapian::Internal::str ( bool  value)
inline

Convert bool to std::string.

Definition at line 68 of file str.h.

◆ str() [2/12]

std::string Xapian::Internal::str ( const char *  value)
inline

Convert const char * to std::string.

Definition at line 65 of file str.h.

◆ str() [3/12]

std::string Xapian::Internal::str ( const std::string &  value)
inline

Convert std::string to std::string.

This is useful as it allows macros and templates to apply str() to a type and have it work if that type is std::string.

Definition at line 59 of file str.h.

◆ str() [4/12]

std::string Xapian::Internal::str ( const void *  value)

Convert const void * to std::string.

Definition at line 146 of file str.cc.

References format().

◆ str() [5/12]

std::string Xapian::Internal::str ( double  value)

Convert double to std::string.

Definition at line 140 of file str.cc.

References format().

◆ str() [6/12]

std::string Xapian::Internal::str ( int  value)

Convert int to std::string.

Definition at line 91 of file str.cc.

References tostring().

Referenced by HoneyTable::add(), GlassTable::add(), GlassDatabaseReplicator::apply_changeset_from_conn(), Xapian::DatabaseReplica::Internal::apply_next_changeset(), GlassTable::block_to_cursor(), builddb_queries1(), builddb_valuestest1(), FDTracker::check(), GlassTableCheck::check(), check_db_dir(), Xapian::DatabaseReplica::Internal::check_message_type(), Xapian::RangeProcessor::check_range(), checked_system(), GlassChanges::commit(), GlassDatabase::compact(), HoneyDatabase::compact(), Xapian::Database::compact_(), BackendManagerMulti::createdb_multi(), dbcheck(), DEFINE_TESTCASE(), InMemoryDatabase::delete_document(), PerfTestLogger::diversify_end(), HoneyCursor::do_find(), docstats_to_string(), docterms_to_string(), errno_to_string(), escape_xml(), Xapian::Internal::Context::expand_edit_distance(), Xapian::Internal::Context::expand_wildcard(), failure(), Glass::LeafItem_wr::form_key(), format_doc_termlist(), gen_valuestats6_db(), GlassFreeList::get_block(), HoneyFreeList::get_block(), DocumentValueList::get_description(), Xapian::MSet::Internal::get_description(), Xapian::Internal::QueryTerm::get_description(), Xapian::Internal::QueryScaleWeight::get_description(), Xapian::Internal::QueryValueRange::get_description(), Xapian::Internal::QueryValueLE::get_description(), Xapian::Internal::QueryValueGE::get_description(), Xapian::Internal::QueryEditDistance::get_description(), Result::get_description(), ContiguousAllDocsPostList::get_description(), Xapian::Document::Internal::get_description(), GlassAllDocsPostList::get_description(), GlassPostList::get_description(), GlassValueList::get_description(), HoneyAllDocsPostList::get_description(), HoneyValueList::get_description(), InMemoryPostList::get_description(), InMemoryAllDocsPostList::get_description(), SlowValueList::get_description(), Xapian::Internal::ExpandTerm::get_description(), Xapian::ESet::Internal::get_description(), Xapian::ESetIterator::get_description(), Xapian::LatLongCoord::get_description(), Xapian::LatLongCoords::get_description(), Xapian::LatLongDistancePostingSource::get_description(), Xapian::ValueCountMatchSpy::get_description(), Xapian::MSetIterator::get_description(), Xapian::ValuePostingSource::get_description(), Xapian::ValueWeightPostingSource::get_description(), Xapian::RSet::get_description(), Xapian::TermGenerator::get_description(), ExtraWeightPostList::get_description(), NearPostList::get_description(), PhrasePostList::get_description(), ValueGePostList::get_description(), ValueRangePostList::get_description(), Xapian::Internal::TermFreqs::get_description(), Xapian::Weight::Internal::get_description(), Xapian::ValueMapPostingSource::get_description(), Xapian::FixedWeightPostingSource::get_description(), Xapian::Internal::QueryBranch::get_description_helper(), get_distro(), HoneyDatabase::get_doclength(), InMemoryDatabase::get_doclength(), GlassPostListTable::get_doclength(), Inverter::get_doclength(), HoneyInverter::get_doclength(), Xapian::MSet::Internal::get_document(), Xapian::Error::get_error_string(), HoneyTable::get_exact_entry(), RemoteServer::get_message(), RemoteDatabase::get_message(), get_ncpus(), BackendManagerRemote::get_remote_database_args(), StringAndFrequency::get_string(), InMemoryDatabase::get_unique_terms(), InMemoryDatabase::get_wdfdocmax(), ChangeMaxweightPostingSource::get_weight(), BackendManagerRemote::get_writable_database_args(), GlassTermList::GlassTermList(), GlassVersion::GlassVersion(), HoneyVersion::HoneyVersion(), PerfTestLogger::indexing_begin(), PerfTestLogger::indexing_log(), CompressionStream::lazy_alloc_deflate_zstream(), CompressionStream::lazy_alloc_inflate_zstream(), make_matchspy2_db(), make_ordecay_db(), make_sparse_db(), make_topercent7_db(), make_xordecay1_db(), GlassCompact::multimerge_postlists(), HoneyCompact::multimerge_postlists(), GlassPostList::next_chunk(), numfromstr(), PerfTestLogger::open(), InMemoryDatabase::open_document(), RemoteTcpClient::open_socket(), InMemoryDatabase::open_term_list(), TitleFieldProcessor::operator()(), HostFieldProcessor::operator()(), DateRangeFieldProcessor::operator()(), TestFieldProcessor::operator()(), test_driver::parse_command_line(), parsesigned_helper(), parseunsigned_helper(), positions_to_string(), postlist_to_string(), push_leaf_N(), querypairwise1_helper(), State::range(), GlassVersion::read(), HoneyVersion::read(), GlassTable::read_block(), read_stub_file(), Xapian::Document::remove_posting(), Resolver::Resolver(), RemoteServer::run(), PerfTestLogger::search_end(), RemoteConnection::send_message(), GlassDatabase::set_revision_number(), termstats_to_string(), test_sortableserialise1(), test_strbool1(), test_tostring1(), test_uuid1(), PerfTestLogger::testcase_begin(), throw_block_error(), tostring_helper(), Xapian::Query::Internal::unserialise(), RemoteDatabase::update_stats(), validate_postingsource_params(), values_to_repr(), and GlassDatabase::write_changesets_to_fd().

◆ str() [7/12]

std::string Xapian::Internal::str ( long long  value)

Convert long long to std::string.

Definition at line 115 of file str.cc.

References tostring().

◆ str() [8/12]

std::string Xapian::Internal::str ( long  value)

Convert long to std::string.

Definition at line 103 of file str.cc.

References tostring().

◆ str() [9/12]

std::string Xapian::Internal::str ( std::string_view  value)
inline

Convert std::string_view to std::string.

Definition at line 62 of file str.h.

◆ str() [10/12]

std::string Xapian::Internal::str ( unsigned int  value)

Convert unsigned int to std::string.

Definition at line 97 of file str.cc.

References tostring_unsigned().

◆ str() [11/12]

std::string Xapian::Internal::str ( unsigned long long  value)

Convert unsigned long long to std::string.

Definition at line 121 of file str.cc.

References tostring_unsigned().

◆ str() [12/12]

std::string Xapian::Internal::str ( unsigned long  value)

Convert unsigned long to std::string.

Definition at line 109 of file str.cc.

References tostring_unsigned().

◆ string_frac()

static double Xapian::Internal::string_frac ( const string &  s,
size_t  prefix 
)
static

Definition at line 1460 of file queryinternal.cc.

Referenced by estimate_range_freq().

Variable Documentation

◆ HEX_MASK

const unsigned char Xapian::Internal::HEX_MASK = 0x0f

Definition at line 160 of file stringutils.h.

Referenced by C_isxdigit(), and hex_digit().

◆ IS_ALPHA

const unsigned char Xapian::Internal::IS_ALPHA = 0x20

Definition at line 162 of file stringutils.h.

Referenced by C_isalnum(), C_isalpha(), C_islower(), C_tolower(), and C_toupper().

◆ IS_DIGIT

const unsigned char Xapian::Internal::IS_DIGIT = 0x40

Definition at line 163 of file stringutils.h.

Referenced by C_isalnum(), C_isdigit(), and C_isxdigit().

◆ IS_SPACE

const unsigned char Xapian::Internal::IS_SPACE = 0x80

Definition at line 164 of file stringutils.h.

Referenced by C_isspace().

◆ IS_UPPER

const unsigned char Xapian::Internal::IS_UPPER = 0x10

Definition at line 161 of file stringutils.h.

Referenced by C_islower(), and C_isupper().