enquire.h   enquire.h 
skipping to change at line 55 skipping to change at line 55
class MSetIterator; class MSetIterator;
class Query; class Query;
class Weight; class Weight;
/** A match set (MSet). /** A match set (MSet).
* This class represents (a portion of) the results of a query. * This class represents (a portion of) the results of a query.
*/ */
class XAPIAN_VISIBILITY_DEFAULT MSet { class XAPIAN_VISIBILITY_DEFAULT MSet {
public: public:
class Internal; class Internal;
/// @internal Reference counted internals. /// @private @internal Reference counted internals.
Xapian::Internal::RefCntPtr<Internal> internal; Xapian::Internal::RefCntPtr<Internal> internal;
/// @internal Constructor for internal use. /// @private @internal Constructor for internal use.
explicit MSet(MSet::Internal * internal_); explicit MSet(MSet::Internal * internal_);
/// Create an empty Xapian::MSet. /// Create an empty Xapian::MSet.
MSet(); MSet();
/// Destroy a Xapian::MSet. /// Destroy a Xapian::MSet.
~MSet(); ~MSet();
/// Copying is allowed (and is cheap). /// Copying is allowed (and is cheap).
MSet(const MSet & other); MSet(const MSet & other);
skipping to change at line 427 skipping to change at line 427
class ESetIterator; class ESetIterator;
/** Class representing an ordered set of expand terms (an ESet). /** Class representing an ordered set of expand terms (an ESet).
* This set represents the results of an expand operation, which is * This set represents the results of an expand operation, which is
* performed by Xapian::Enquire::get_eset(). * performed by Xapian::Enquire::get_eset().
*/ */
class XAPIAN_VISIBILITY_DEFAULT ESet { class XAPIAN_VISIBILITY_DEFAULT ESet {
public: public:
class Internal; class Internal;
/// @internal Reference counted internals. /// @private @internal Reference counted internals.
Xapian::Internal::RefCntPtr<Internal> internal; Xapian::Internal::RefCntPtr<Internal> internal;
/// Construct an empty ESet /// Construct an empty ESet
ESet(); ESet();
/// Destructor. /// Destructor.
~ESet(); ~ESet();
/// Copying is allowed (and is cheap). /// Copying is allowed (and is cheap).
ESet(const ESet & other); ESet(const ESet & other);
skipping to change at line 576 skipping to change at line 576
/** A relevance set (R-Set). /** A relevance set (R-Set).
* This is the set of documents which are marked as relevant, for use * This is the set of documents which are marked as relevant, for use
* in modifying the term weights, and in performing query expansion. * in modifying the term weights, and in performing query expansion.
*/ */
class XAPIAN_VISIBILITY_DEFAULT RSet { class XAPIAN_VISIBILITY_DEFAULT RSet {
public: public:
/// Class holding details of RSet /// Class holding details of RSet
class Internal; class Internal;
/// @internal Reference counted internals. /// @private @internal Reference counted internals.
Xapian::Internal::RefCntPtr<Internal> internal; Xapian::Internal::RefCntPtr<Internal> internal;
/// Copy constructor /// Copy constructor
RSet(const RSet &rset); RSet(const RSet &rset);
/// Assignment operator /// Assignment operator
void operator=(const RSet &rset); void operator=(const RSet &rset);
/// Default constructor /// Default constructor
RSet(); RSet();
skipping to change at line 655 skipping to change at line 655
*/ */
class XAPIAN_VISIBILITY_DEFAULT Enquire { class XAPIAN_VISIBILITY_DEFAULT Enquire {
public: public:
/// Copying is allowed (and is cheap). /// Copying is allowed (and is cheap).
Enquire(const Enquire & other); Enquire(const Enquire & other);
/// Assignment is allowed (and is cheap). /// Assignment is allowed (and is cheap).
void operator=(const Enquire & other); void operator=(const Enquire & other);
class Internal; class Internal;
/// @internal Reference counted internals. /// @private @internal Reference counted internals.
Xapian::Internal::RefCntPtr<Internal> internal; Xapian::Internal::RefCntPtr<Internal> internal;
/** Create a Xapian::Enquire object. /** Create a Xapian::Enquire object.
* *
* This specification cannot be changed once the Xapian::Enquire is * This specification cannot be changed once the Xapian::Enquire is
* opened: you must create a new Xapian::Enquire object to access a * opened: you must create a new Xapian::Enquire object to access a
* different database, or set of databases. * different database, or set of databases.
* *
* The database supplied must have been initialised (ie, must not b e * The database supplied must have been initialised (ie, must not b e
* the result of calling the Database::Database() constructor). If * the result of calling the Database::Database() constructor). If
skipping to change at line 973 skipping to change at line 973
* given document should be put in the MSet. * given document should be put in the MSet.
* @param matchspy a decision functor to use to decide whether a * @param matchspy a decision functor to use to decide whether a
* given document should be put in the MSet. The * given document should be put in the MSet. The
* matchspy is applied to every document which is * matchspy is applied to every document which is
* a potential candidate for the MSet, so if there are * a potential candidate for the MSet, so if there are
* checkatleast or more such documents, the matchs py * checkatleast or more such documents, the matchs py
* will see at least checkatleast. The mdecider i s * will see at least checkatleast. The mdecider i s
* assumed to be a relatively expensive test so ma y * assumed to be a relatively expensive test so ma y
* be applied in a lazier fashion. * be applied in a lazier fashion.
* *
* @deprecated this parameter is deprecated - use the * @deprecated The matchspy parameter is deprecated - use the
* newer MatchSpy class and add_matchspy() method * newer MatchSpy class and add_matchspy() method
* instead. * instead.
* *
* @return A Xapian::MSet object containing the results of the * @return A Xapian::MSet object containing the results of the
* query. * query.
* *
* @exception Xapian::InvalidArgumentError See class documentation . * @exception Xapian::InvalidArgumentError See class documentation .
* *
* @{ * @{
*/ */
MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems,
Xapian::doccount checkatleast = 0,
const RSet * omrset = 0,
const MatchDecider * mdecider = 0) const;
XAPIAN_DEPRECATED( XAPIAN_DEPRECATED(
MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems, MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems,
Xapian::doccount checkatleast, Xapian::doccount checkatleast,
const RSet * omrset, const RSet * omrset,
const MatchDecider * mdecider, const MatchDecider * mdecider,
const MatchDecider * matchspy) const); const MatchDecider * matchspy) const);
MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems, MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems,
Xapian::doccount checkatleast = 0,
const RSet * omrset = 0,
const MatchDecider * mdecider = 0) const;
MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems,
const RSet * omrset, const RSet * omrset,
const MatchDecider * mdecider = 0) const { const MatchDecider * mdecider = 0) const {
return get_mset(first, maxitems, 0, omrset, mdecider); return get_mset(first, maxitems, 0, omrset, mdecider);
} }
/** @} */ /** @} */
static const int INCLUDE_QUERY_TERMS = 1; static const int INCLUDE_QUERY_TERMS = 1;
static const int USE_EXACT_TERMFREQ = 2; static const int USE_EXACT_TERMFREQ = 2;
/** Get the expand set for the given rset. /** Get the expand set for the given rset.
 End of changes. 9 change blocks. 
11 lines changed or deleted 11 lines changed or added


 error.h   error.h 
/** @file error.h /** @file error.h
* @brief Hierarchy of classes which Xapian can throw as exceptions. * @brief Hierarchy of classes which Xapian can throw as exceptions.
*/ */
/* Warning: This file is generated by /data/home/olly/tmp/xapian-svn-snapsh ot/tags/1.2.15/xapian/xapian-core/generate-exceptions - do not modify direc tly! */ /* Warning: This file is generated by /data/home/olly/tmp/xapian-svn-snapsh ot/tags/1.2.16/xapian/xapian-core/generate-exceptions - do not modify direc tly! */
/* Copyright (C) 2003,2004,2006,2007,2009 Olly Betts /* Copyright (C) 2003,2004,2006,2007,2009 Olly Betts
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 keymaker.h   keymaker.h 
skipping to change at line 93 skipping to change at line 93
/** Virtual base class for sorter functor. */ /** Virtual base class for sorter functor. */
class XAPIAN_VISIBILITY_DEFAULT XAPIAN_DEPRECATED_CLASS Sorter : public Key Maker { }; class XAPIAN_VISIBILITY_DEFAULT XAPIAN_DEPRECATED_CLASS Sorter : public Key Maker { };
/** Sorter subclass which sorts by a several values. /** Sorter subclass which sorts by a several values.
* *
* Results are ordered by the first value. In the event of a tie, the * Results are ordered by the first value. In the event of a tie, the
* second is used. If this is the same for both, the third is used, and * second is used. If this is the same for both, the third is used, and
* so on. * so on.
* *
* @deprecated This class is deprecated - you should migrate to using * @deprecated This class is deprecated - you should migrate to using
* MultiValueKeyMaker instead. Note that MultiValueSorter::add() becomes * MultiValueKeyMaker instead. Note that MultiValueSorter::add
* MultiValueKeyMaker::add_value(), but the sense of the direction flag () becomes
* is reversed (to be consistent with Enquire::set_sort_by_value()), so: * MultiValueKeyMaker::add_value(), but the sense of the direct
* ion flag
* MultiValueSorter sorter; * is reversed (to be consistent with Enquire::set_sort_by_valu
* // Primary ordering is forwards on value 4. e()).
* sorter.add(4);
* // Secondary ordering is reverse on value 5.
* sorter.add(5, false);
* *
* So:
* <pre>
* MultiValueSorter sorter;
* // Primary ordering is forwards on value 4.
* sorter.add(4);
* // Secondary ordering is reverse on value 5.
* sorter.add(5, false);
* </pre>
* becomes: * becomes:
* * <pre>
* MultiValueKeyMaker sorter; * MultiValueKeyMaker sorter;
* // Primary ordering is forwards on value 4. * // Primary ordering is forwards on value 4.
* sorter.add_value(4); * sorter.add_value(4);
* // Secondary ordering is reverse on value 5. * // Secondary ordering is reverse on value 5.
* sorter.add_value(5, true); * sorter.add_value(5, true);
* </pre>
*/ */
class XAPIAN_VISIBILITY_DEFAULT XAPIAN_DEPRECATED_CLASS MultiValueSorter : public Sorter { class XAPIAN_VISIBILITY_DEFAULT XAPIAN_DEPRECATED_CLASS MultiValueSorter : public Sorter {
std::vector<std::pair<Xapian::valueno, bool> > slots; std::vector<std::pair<Xapian::valueno, bool> > slots;
public: public:
MultiValueSorter() { } MultiValueSorter() { }
template <class Iterator> template <class Iterator>
MultiValueSorter(Iterator begin, Iterator end) { MultiValueSorter(Iterator begin, Iterator end) {
while (begin != end) add(*begin++); while (begin != end) add(*begin++);
 End of changes. 3 change blocks. 
15 lines changed or deleted 21 lines changed or added


 matchspy.h   matchspy.h 
skipping to change at line 214 skipping to change at line 214
public: public:
/// Construct an empty ValueCountMatchSpy. /// Construct an empty ValueCountMatchSpy.
ValueCountMatchSpy() : internal() {} ValueCountMatchSpy() : internal() {}
/// Construct a MatchSpy which counts the values in a particular slot. /// Construct a MatchSpy which counts the values in a particular slot.
ValueCountMatchSpy(Xapian::valueno slot_) ValueCountMatchSpy(Xapian::valueno slot_)
: internal(new Internal(slot_)) {} : internal(new Internal(slot_)) {}
/** Return the total number of documents tallied. */ /** Return the total number of documents tallied. */
size_t get_total() const { size_t get_total() const {
return internal->total; return internal.get() ? internal->total : 0;
} }
/** Get an iterator over the values seen in the slot. /** Get an iterator over the values seen in the slot.
* *
* Items will be returned in ascending alphabetical order. * Items will be returned in ascending alphabetical order.
* *
* During the iteration, the frequency of the current value can be * During the iteration, the frequency of the current value can be
* obtained with the get_termfreq() method on the iterator. * obtained with the get_termfreq() method on the iterator.
*/ */
TermIterator values_begin() const; TermIterator values_begin() const;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 unicode.h   unicode.h 
skipping to change at line 129 skipping to change at line 129
/** Create an iterator which is at the end of its iteration. /** Create an iterator which is at the end of its iteration.
* *
* This can be compared to another iterator to check if the other iter ator * This can be compared to another iterator to check if the other iter ator
* has reached its end. * has reached its end.
*/ */
Utf8Iterator() : p(NULL), end(0), seqlen(0) { } Utf8Iterator() : p(NULL), end(0), seqlen(0) { }
/** Get the current Unicode character value pointed to by the iterator. /** Get the current Unicode character value pointed to by the iterator.
* *
* If an invalid UTF-8 sequence is encountered, then the byte values
* comprising it are returned until valid UTF-8 or the end of the inpu
t is
* reached.
*
* Returns unsigned(-1) if the iterator has reached the end of its buf fer. * Returns unsigned(-1) if the iterator has reached the end of its buf fer.
*/ */
unsigned operator*() const; unsigned operator*() const;
/** Move forward to the next Unicode character. /** Move forward to the next Unicode character.
* *
* @return An iterator pointing to the position before the move. * @return An iterator pointing to the position before the move.
*/ */
Utf8Iterator operator++(int) { Utf8Iterator operator++(int) {
// If we've not calculated seqlen yet, do so. // If we've not calculated seqlen yet, do so.
skipping to change at line 222 skipping to change at line 226
INITIAL_QUOTE_PUNCTUATION, INITIAL_QUOTE_PUNCTUATION,
FINAL_QUOTE_PUNCTUATION, FINAL_QUOTE_PUNCTUATION,
OTHER_PUNCTUATION, OTHER_PUNCTUATION,
MATH_SYMBOL, MATH_SYMBOL,
CURRENCY_SYMBOL, CURRENCY_SYMBOL,
MODIFIER_SYMBOL, MODIFIER_SYMBOL,
OTHER_SYMBOL OTHER_SYMBOL
} category; } category;
namespace Internal { namespace Internal {
/** @internal Extract the information about a character from the Unicod /** @private @internal Extract the information about a character from t
e he
* character tables. * Unicode character tables.
* *
* ch must be a valid Unicode character value (i.e. < 0x110000) * ch must be a valid Unicode character value (i.e. < 0x110000)
*/ */
XAPIAN_VISIBILITY_DEFAULT XAPIAN_VISIBILITY_DEFAULT
int get_character_info(unsigned ch); int get_character_info(unsigned ch);
/** @internal Extract how to convert the case of a Unicode character fr /** @private @internal Extract how to convert the case of a Unicode
om * character from its info.
* its info.
*/ */
inline int get_case_type(int info) { return ((info & 0xe0) >> 5); } inline int get_case_type(int info) { return ((info & 0xe0) >> 5); }
/// @internal Extract the category of a Unicode character from its info /** @private @internal Extract the category of a Unicode character from
. its
* info.
*/
inline category get_category(int info) { return static_cast<category>(i nfo & 0x1f); } inline category get_category(int info) { return static_cast<category>(i nfo & 0x1f); }
/** @internal Extract the delta to use for case conversion of a charact /** @private @internal Extract the delta to use for case conversion of
er a
* from its info. * character from its info.
*/ */
inline int get_delta(int info) { inline int get_delta(int info) {
/* It's implementation defined if sign extension happens on right sh ift /* It's implementation defined if sign extension happens on right sh ift
* of a signed int, hence the conditional (hopefully the compiler wi ll * of a signed int, hence the conditional (hopefully the compiler wi ll
* spot this and optimise it to a sign-extending shift on architectu res * spot this and optimise it to a sign-extending shift on architectu res
* with a suitable instruction). * with a suitable instruction).
*/ */
#ifdef __GNUC__ #ifdef __GNUC__
// GCC 4.7.1 doesn't optimise the more complex expression down // GCC 4.7.1 doesn't optimise the more complex expression down
// (reported as http://gcc.gnu.org/PR55299), but the documented // (reported as http://gcc.gnu.org/PR55299), but the documented
 End of changes. 5 change blocks. 
11 lines changed or deleted 17 lines changed or added


 version.h   version.h 
/** @file version.h /** @file version.h
* @brief Define preprocesor symbols for the library version * @brief Define preprocessor symbols for the library version
*/ */
// Copyright (C) 2002,2004,2005,2006,2007,2008,2009,2010 Olly Betts // Copyright (C) 2002,2004,2005,2006,2007,2008,2009,2010 Olly Betts
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as // modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the // published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version. // License, or (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful // This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
skipping to change at line 46 skipping to change at line 46
#error was not compiled with this flag. The settings must match or your #error was not compiled with this flag. The settings must match or your
#error program will not work correctly. #error program will not work correctly.
#endif #endif
#endif #endif
#endif #endif
/// The library was compiled with GCC's -fvisibility=hidden option. /// The library was compiled with GCC's -fvisibility=hidden option.
#define XAPIAN_ENABLE_VISIBILITY #define XAPIAN_ENABLE_VISIBILITY
/// The version of Xapian as a C string literal. /// The version of Xapian as a C string literal.
#define XAPIAN_VERSION "1.2.15" #define XAPIAN_VERSION "1.2.16"
/** The major component of the Xapian version. /** The major component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 1 * E.g. for Xapian 1.0.14 this would be: 1
*/ */
#define XAPIAN_MAJOR_VERSION 1 #define XAPIAN_MAJOR_VERSION 1
/** The minor component of the Xapian version. /** The minor component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 0 * E.g. for Xapian 1.0.14 this would be: 0
*/ */
#define XAPIAN_MINOR_VERSION 2 #define XAPIAN_MINOR_VERSION 2
/** The revision component of the Xapian version. /** The revision component of the Xapian version.
* E.g. for Xapian 1.0.14 this would be: 14 * E.g. for Xapian 1.0.14 this would be: 14
*/ */
#define XAPIAN_REVISION 15 #define XAPIAN_REVISION 16
/// XAPIAN_HAS_BRASS_BACKEND Defined if the brass backend is enabled. /// XAPIAN_HAS_BRASS_BACKEND Defined if the brass backend is enabled.
#define XAPIAN_HAS_BRASS_BACKEND 1 #define XAPIAN_HAS_BRASS_BACKEND 1
/// XAPIAN_HAS_CHERT_BACKEND Defined if the chert backend is enabled. /// XAPIAN_HAS_CHERT_BACKEND Defined if the chert backend is enabled.
#define XAPIAN_HAS_CHERT_BACKEND 1 #define XAPIAN_HAS_CHERT_BACKEND 1
/// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled. /// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled.
#define XAPIAN_HAS_FLINT_BACKEND 1 #define XAPIAN_HAS_FLINT_BACKEND 1
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 xapian.h   xapian.h 
/** @file xapian.h /** @file xapian.h
* @brief Public interfaces for the Xapian library. * @brief Public interfaces for the Xapian library.
*/ */
// Copyright (C) 2003,2004,2005,2007,2008,2009,2010,2012 Olly Betts // Copyright (C) 2003,2004,2005,2007,2008,2009,2010,2012,2013 Olly Betts
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US A // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US A
#ifndef XAPIAN_INCLUDED_XAPIAN_H #ifndef XAPIAN_INCLUDED_XAPIAN_H
#define XAPIAN_INCLUDED_XAPIAN_H #define XAPIAN_INCLUDED_XAPIAN_H
#ifdef slots
# ifdef Q_OBJECT
// Qt headers '#define slots' by default, which clashes with us using it as a // Qt headers '#define slots' by default, which clashes with us using it as a
// class member name. Including <xapian.h> first is a simple workaround, o r // class member name. Including <xapian.h> first is a simple workaround, o r
// you can use 'no_keywords' to stop Qt polluting the global macro namespac e, // you can use 'no_keywords' to stop Qt polluting the global macro namespac e,
// as described here: // as described here:
// //
// http://qt-project.org/doc/qt-5.0/signalsandslots.html#using-qt-with-3rd- party-signals-and-slots // http://qt-project.org/doc/qt-5.0/signalsandslots.html#using-qt-with-3rd- party-signals-and-slots
#if defined slots && defined Q_OBJECT # error "Include <xapian.h> before Qt headers, or put 'CONFIG += no_keywor
# error "Include <xapian.h> before Qt headers, or put 'CONFIG += no_keyword ds' in your .pro file and use Q_SLOTS instead of slots, etc"
s' in your .pro file and use Q_SLOTS instead of slots, etc" # endif
# ifdef WT_API
// Argh, copycat polluters!
# error "Include <xapian.h> before Wt headers, or define WT_NO_SLOT_MACROS
to stop Wt from defining the macros 'slots' and 'SLOT()'"
# endif
#endif #endif
// Set defines for library version and check C++ ABI versions match. // Set defines for library version and check C++ ABI versions match.
#include <xapian/version.h> #include <xapian/version.h>
// Types // Types
#include <xapian/types.h> #include <xapian/types.h>
// Exceptions // Exceptions
#include <xapian/error.h> #include <xapian/error.h>
 End of changes. 3 change blocks. 
4 lines changed or deleted 11 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/