xapian-core  1.5.1
Xapian::Registry Class Reference

Registry for user subclasses. More...

#include <registry.h>

Public Member Functions

 Registry (const Registry &other)
 Copy constructor.
Registryoperator= (const Registry &other)
 Assignment operator.
 Registry (Registry &&other)
 Move constructor.
Registryoperator= (Registry &&other)
 Move assignment operator.
 Registry ()
 Default constructor.
void register_weighting_scheme (const Xapian::Weight &wt)
 Register a weighting scheme.
const Xapian::Weightget_weighting_scheme (std::string_view name) const
 Get the weighting scheme given a name.
void register_posting_source (const Xapian::PostingSource &source)
 Register a user-defined posting source class.
const Xapian::PostingSourceget_posting_source (std::string_view name) const
 Get a posting source given a name.
void register_match_spy (const Xapian::MatchSpy &spy)
 Register a user-defined match spy class.
const Xapian::MatchSpyget_match_spy (std::string_view name) const
 Get a match spy given a name.
void register_lat_long_metric (const Xapian::LatLongMetric &metric)
 Register a user-defined lat-long metric class.
const Xapian::LatLongMetricget_lat_long_metric (std::string_view name) const
 Get a lat-long metric given a name.
void register_key_maker (Xapian::KeyMaker *keymaker)
 Register a user-defined KeyMaker subclass.
const Xapian::KeyMakerget_key_maker (std::string_view name) const
 Get a KeyMaker given a name.

Detailed Description

Registry for user subclasses.

This class provides a way for the remote server to look up user subclasses when unserialising.

Constructor & Destructor Documentation

◆ Registry() [1/3]

Xapian::Registry::Registry ( const Registry & other)

Copy constructor.

The internals are reference counted, so copying is cheap.

Parameters
otherThe object to copy.

References Registry().

Referenced by operator=(), operator=(), Registry(), Registry(), and Registry().

◆ Registry() [2/3]

Xapian::Registry::Registry ( Registry && other)

Move constructor.

Parameters
otherThe object to move.

References Registry().

◆ Registry() [3/3]

Xapian::Registry::Registry ( )

Default constructor.

The registry will contain all standard subclasses of user-subclassable classes.

References Registry().

Member Function Documentation

◆ get_key_maker()

const Xapian::KeyMaker * Xapian::Registry::get_key_maker ( std::string_view name) const

Get a KeyMaker given a name.

Parameters
nameThe name of the KeyMaker to find.
Returns
An object with the requested name, or NULL if the KeyMaker could not be found. The returned object must not be deleted by the caller.
Since
Added in Xapian 2.0.0.

◆ get_lat_long_metric()

const Xapian::LatLongMetric * Xapian::Registry::get_lat_long_metric ( std::string_view name) const

Get a lat-long metric given a name.

The returned metric is owned by the registry object.

Returns NULL if the metric could not be found.

◆ get_match_spy()

const Xapian::MatchSpy * Xapian::Registry::get_match_spy ( std::string_view name) const

Get a match spy given a name.

Parameters
nameThe name of the match spy to find.
Returns
An object with the requested name, or NULL if the match spy could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

◆ get_posting_source()

const Xapian::PostingSource * Xapian::Registry::get_posting_source ( std::string_view name) const

Get a posting source given a name.

Parameters
nameThe name of the posting source to find.
Returns
An object with the requested name, or NULL if the posting source could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

◆ get_weighting_scheme()

const Xapian::Weight * Xapian::Registry::get_weighting_scheme ( std::string_view name) const

Get the weighting scheme given a name.

Parameters
nameThe name of the weighting scheme to find.
Returns
An object with the requested name, or NULL if the weighting scheme could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

◆ operator=() [1/2]

Registry & Xapian::Registry::operator= ( const Registry & other)

Assignment operator.

The internals are reference counted, so assignment is cheap.

Parameters
otherThe object to copy.

References Registry().

◆ operator=() [2/2]

Registry & Xapian::Registry::operator= ( Registry && other)

Move assignment operator.

Parameters
otherThe object to move.

References Registry().

◆ register_key_maker()

void Xapian::Registry::register_key_maker ( Xapian::KeyMaker * keymaker)

Register a user-defined KeyMaker subclass.

Parameters
keymakerThe KeyMaker subclass to register. The clean up of this object is handled via Xapian's optional reference counting. The simplest way to do so is to allocate it with new and call release() on it before passing it to this method to tell Xapian to manage its lifetime. The alternative approach is for the caller to ensure the KeyMaker object remains valid for the lifetime of the Registry object.
Since
Added in Xapian 2.0.0.

◆ register_match_spy()

void Xapian::Registry::register_match_spy ( const Xapian::MatchSpy & spy)

Register a user-defined match spy class.

Parameters
spyThe match spy to register.

◆ register_posting_source()

void Xapian::Registry::register_posting_source ( const Xapian::PostingSource & source)

Register a user-defined posting source class.

Parameters
sourceThe posting source to register.

◆ register_weighting_scheme()

void Xapian::Registry::register_weighting_scheme ( const Xapian::Weight & wt)

Register a weighting scheme.

Parameters
wtThe weighting scheme to register.

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